Class ActiveMQConnectionConsumer

  extended by org.apache.activemq.ActiveMQConnectionConsumer
All Implemented Interfaces:
ConnectionConsumer, ActiveMQDispatcher

public class ActiveMQConnectionConsumer
extends Object
implements ConnectionConsumer, ActiveMQDispatcher

For application servers, 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.

See Also:
Connection.createConnectionConsumer(javax.jms.Destination, java.lang.String, javax.jms.ServerSessionPool, int), Connection.createDurableConnectionConsumer(javax.jms.Topic, java.lang.String, java.lang.String, javax.jms.ServerSessionPool, int), 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)

Constructor Summary
protected ActiveMQConnectionConsumer(ActiveMQConnection theConnection, ServerSessionPool theSessionPool, ConsumerInfo theConsumerInfo)
          Create a ConnectionConsumer
Method Summary
 void clearMessagesInProgress()
 void close()
          Closes the connection consumer.
 void dispatch(MessageDispatch messageDispatch)
 void dispose()
 ConsumerInfo getConsumerInfo()
 ServerSessionPool getServerSessionPool()
          Gets the server session pool associated with this connection consumer.
 String toString()
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

Constructor Detail


protected ActiveMQConnectionConsumer(ActiveMQConnection theConnection,
                                     ServerSessionPool theSessionPool,
                                     ConsumerInfo theConsumerInfo)
                              throws JMSException
Create a ConnectionConsumer

theConnection -
theSessionPool -
theConsumerInfo -
Method Detail


public ServerSessionPool getServerSessionPool()
                                       throws JMSException
Gets the server session pool associated with this connection consumer.

Specified by:
getServerSessionPool in interface ConnectionConsumer
the server session pool used by this connection consumer
JMSException - if the JMS provider fails to get the server session pool associated with this consumer due to some internal error.


public 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.

Specified by:
close in interface ConnectionConsumer


public void dispose()


public void dispatch(MessageDispatch messageDispatch)
Specified by:
dispatch in interface ActiveMQDispatcher


public String toString()
toString in class Object


public void clearMessagesInProgress()


public ConsumerInfo getConsumerInfo()

Copyright © 2005-2013 The Apache Software Foundation. All Rights Reserved.