Class ActiveMQQueueReceiver

  • All Implemented Interfaces:
    AutoCloseable, javax.jms.MessageConsumer, javax.jms.QueueReceiver, ActiveMQDispatcher, StatsCapable, MessageAvailableConsumer

    public class ActiveMQQueueReceiver
    extends ActiveMQMessageConsumer
    implements javax.jms.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
    • Constructor Detail

      • ActiveMQQueueReceiver

        protected ActiveMQQueueReceiver​(ActiveMQSession theSession,
                                        ConsumerId consumerId,
                                        ActiveMQDestination destination,
                                        String selector,
                                        int prefetch,
                                        int maximumPendingMessageCount,
                                        boolean asyncDispatch)
                                 throws javax.jms.JMSException
        Parameters:
        theSession -
        consumerId -
        destination -
        selector -
        prefetch -
        maximumPendingMessageCount -
        asyncDispatch -
        Throws:
        javax.jms.JMSException
    • Method Detail

      • getQueue

        public javax.jms.Queue getQueue()
                                 throws javax.jms.JMSException
        Gets the Queue associated with this queue receiver.
        Specified by:
        getQueue in interface javax.jms.QueueReceiver
        Returns:
        this receiver's Queue
        Throws:
        javax.jms.JMSException - if the JMS provider fails to get the queue for this queue receiver due to some internal error.