javax.jms
Interface ConnectionConsumer


public interface ConnectionConsumer

For application servers, Connections provide a special facility for creating a ConnectionConsumer (optional). The messages it is to consume are specified by a Destination and a Property Selector. In addition, a ConnectionConsumer must be given a ServerSessionPool to use for processing its messages.

Normally, when traffic is light, a ConnectionConsumer gets a ServerSession from its pool; loads it with a single message; and, starts it. As traffic picks up, messages can back up. If this happens, a ConnectionConsumer can load each ServerSession with more than one message. This reduces the thread context switches and minimizes resource use at the expense of some serialization of a message processing.

See Also:
QueueConnection.createConnectionConsumer(javax.jms.Queue, java.lang.String, javax.jms.ServerSessionPool, int), TopicConnection.createConnectionConsumer(javax.jms.Topic, java.lang.String, javax.jms.ServerSessionPool, int), TopicConnection.createDurableConnectionConsumer(javax.jms.Topic, java.lang.String, java.lang.String, javax.jms.ServerSessionPool, int)

Method Summary
 void close()
          Since a provider may allocate some resources on behalf of a ConnectionConsumer outside the JVM, clients should close them when they are not needed.
 ServerSessionPool getServerSessionPool()
          Get the server session pool associated with this connection consumer.
 

Method Detail

getServerSessionPool

public ServerSessionPool getServerSessionPool()
                                       throws JMSException
Get the server session pool associated with this connection consumer.
Returns:
the server session pool used by this connection consumer.
Throws:
JMSException - if a JMS fails to get server sesion pool associated with this consumer due to some internal error.

close

public void close()
           throws JMSException
Since a provider may allocate some resources on behalf of a ConnectionConsumer outside the JVM, clients should close them when they are not needed. Relying on garbage collection to eventually reclaim these resources may not be timely enough.
Throws:
JMSException - if a JMS fails to release resources on behalf of ConnectionConsumer or it fails to close the connection consumer.