Class ActiveMQQueueReceiver

java.lang.Object
org.apache.activemq.ActiveMQMessageConsumer
org.apache.activemq.ActiveMQQueueReceiver
All Implemented Interfaces:
jakarta.jms.MessageConsumer, jakarta.jms.QueueReceiver, AutoCloseable, ActiveMQDispatcher, StatsCapable, MessageAvailableConsumer

public class ActiveMQQueueReceiver extends ActiveMQMessageConsumer implements jakarta.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(jakarta.jms.Destination, String)
  • Session.createConsumer(jakarta.jms.Destination)
  • QueueSession.createReceiver(Queue, String)
  • QueueSession.createReceiver(Queue)
  • MessageConsumer
  • Constructor Details

    • ActiveMQQueueReceiver

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

    • getQueue

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