public interface ConnectionConsumer
Connection
objects provide a special facility for creating a
ConnectionConsumer
(optional). The messages it is to consume are specified by a Destination
and a
message 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 message processing.
Connection.createConnectionConsumer(jakarta.jms.Destination, java.lang.String, jakarta.jms.ServerSessionPool, int)
,
Connection.createDurableConnectionConsumer(jakarta.jms.Topic, java.lang.String, java.lang.String, jakarta.jms.ServerSessionPool, int)
,
QueueConnection.createConnectionConsumer(jakarta.jms.Queue, java.lang.String, jakarta.jms.ServerSessionPool, int)
,
TopicConnection.createConnectionConsumer(jakarta.jms.Topic, java.lang.String, jakarta.jms.ServerSessionPool, int)
,
TopicConnection.createDurableConnectionConsumer(jakarta.jms.Topic, java.lang.String, java.lang.String, jakarta.jms.ServerSessionPool, int)
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the connection consumer.
|
ServerSessionPool |
getServerSessionPool()
Gets the server session pool associated with this connection consumer.
|
ServerSessionPool getServerSessionPool() throws JMSException
JMSException
- if the Jakarta Messaging provider fails to get the server session pool associated with this consumer due to
some internal error.void close() throws JMSException
Since a provider may allocate some resources on behalf of a connection consumer outside the Java virtual machine, clients should close these resources when they are not needed. Relying on garbage collection to eventually reclaim these resources may not be timely enough.
JMSException
- if the Jakarta Messaging provider fails to release resources on behalf of the connection consumer or fails
to close the connection consumer.