org.apache.activemq
Class ActiveMQQueueReceiver

java.lang.Object
  extended by org.apache.activemq.ActiveMQMessageConsumer
      extended by org.apache.activemq.ActiveMQQueueReceiver
All Implemented Interfaces:
MessageConsumer, QueueReceiver, ActiveMQDispatcher, StatsCapable, MessageAvailableConsumer

public class ActiveMQQueueReceiver
extends ActiveMQMessageConsumer
implements QueueReceiver

A client uses a QueueReceiver object to receive messages that have been delivered to a queue.

Although it is possible to have multiple QueueReceiver s for the same queue, the JMS API does not define how messages are distributed between the QueueReceivers.

If a QueueReceiver specifies a message selector, the messages that are not selected remain on the queue. By definition, a message selector allows a QueueReceiver to skip messages. This means that when the skipped messages are eventually read, the total ordering of the reads does not retain the partial order defined by each message producer. Only QueueReceiver s without a message selector will read messages in message producer order.

Creating a MessageConsumer provides the same features as creating a QueueReceiver. A MessageConsumer object is recommended for creating new code. The QueueReceiver is provided to support existing code.

See Also:
Session.createConsumer(javax.jms.Destination, String), Session.createConsumer(javax.jms.Destination), QueueSession.createReceiver(Queue, String), QueueSession.createReceiver(Queue), MessageConsumer

Field Summary
 
Fields inherited from class org.apache.activemq.ActiveMQMessageConsumer
info, session, unconsumedMessages
 
Constructor Summary
protected ActiveMQQueueReceiver(ActiveMQSession theSession, ConsumerId consumerId, ActiveMQDestination destination, String selector, int prefetch, int maximumPendingMessageCount, boolean asyncDispatch)
           
 
Method Summary
 Queue getQueue()
          Gets the Queue associated with this queue receiver.
 
Methods inherited from class org.apache.activemq.ActiveMQMessageConsumer
acknowledge, checkClosed, checkMessageListener, close, commit, dispatch, dispose, getAvailableListener, getConsumerId, getConsumerName, getConsumerStats, getDestination, getFailureError, getLastDeliveredSequenceId, getMessageListener, getMessageSelector, getMessageSize, getOptimizedAckScheduledAckInterval, getPrefetchNumber, getRedeliveryPolicy, getStats, getTransformer, isBrowser, isDurableSubscriber, isInUse, isNoLocal, iterate, receive, receive, receiveNoWait, rollback, sendPullCommand, setAvailableListener, setFailureError, setMessageListener, setOptimizeAcknowledge, setOptimizedAckScheduledAckInterval, setPrefetchSize, setRedeliveryPolicy, setTransformer, start, stop, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface javax.jms.MessageConsumer
close, getMessageListener, getMessageSelector, receive, receive, receiveNoWait, setMessageListener
 

Constructor Detail

ActiveMQQueueReceiver

protected ActiveMQQueueReceiver(ActiveMQSession theSession,
                                ConsumerId consumerId,
                                ActiveMQDestination destination,
                                String selector,
                                int prefetch,
                                int maximumPendingMessageCount,
                                boolean asyncDispatch)
                         throws JMSException
Parameters:
theSession -
value -
destination -
messageSelector -
prefetch -
asyncDispatch -
Throws:
JMSException
Method Detail

getQueue

public Queue getQueue()
               throws JMSException
Gets the Queue associated with this queue receiver.

Specified by:
getQueue in interface QueueReceiver
Returns:
this receiver's Queue
Throws:
JMSException - if the JMS provider fails to get the queue for this queue receiver due to some internal error.


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