-
public interface ConnectionConsumer
For application servers,Connection
objects provide a special facility for creating aConnectionConsumer
(optional). The messages it is to consume are specified by aDestination
and a message selector. In addition, aConnectionConsumer
must be given aServerSessionPool
to use for processing its messages.Normally, when traffic is light, a
ConnectionConsumer
gets aServerSession
from its pool, loads it with a single message, and starts it. As traffic picks up, messages can back up. If this happens, aConnectionConsumer
can load eachServerSession
with more than one message. This reduces the thread context switches and minimizes resource use at the expense of some serialization of message processing.- Since:
- JMS 1.0
- Version:
- Jakarta Messaging 2.0
- See Also:
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)
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
close()
Closes the connection consumer.ServerSessionPool
getServerSessionPool()
Gets the server session pool associated with this connection consumer.
-
-
-
Method Detail
-
getServerSessionPool
ServerSessionPool getServerSessionPool() throws JMSException
Gets the server session pool associated with this connection consumer.- Returns:
- the server session pool used by this connection consumer
- Throws:
JMSException
- if the Jakarta Messaging provider fails to get the server session pool associated with this consumer due to some internal error.
-
close
void close() throws JMSException
Closes the connection consumer.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.
- Throws:
JMSException
- if the Jakarta Messaging provider fails to release resources on behalf of the connection consumer or fails to close the connection consumer.
-
-