Class ActiveMQQueueBrowser

java.lang.Object
org.apache.activemq.ActiveMQQueueBrowser
All Implemented Interfaces:
jakarta.jms.QueueBrowser, AutoCloseable, Enumeration

public class ActiveMQQueueBrowser extends Object implements jakarta.jms.QueueBrowser, Enumeration
A client uses a QueueBrowser object to look at messages on a queue without removing them.

The getEnumeration method returns a java.util.Enumeration that is used to scan the queue's messages. It may be an enumeration of the entire content of a queue, or it may contain only the messages matching a message selector.

Messages may be arriving and expiring while the scan is done. The JMS API does not require the content of an enumeration to be a static snapshot of queue content. Whether these changes are visible or not depends on the JMS provider.

A QueueBrowser can be created from either a Session or a QueueSession.

See Also:
  • Session.createBrowser(jakarta.jms.Queue)
  • QueueSession.createBrowser(jakarta.jms.Queue)
  • QueueBrowser
  • QueueReceiver
  • Constructor Details

    • ActiveMQQueueBrowser

      protected ActiveMQQueueBrowser(ActiveMQSession session, ConsumerId consumerId, ActiveMQDestination destination, String selector, boolean dispatchAsync) throws jakarta.jms.JMSException
      Constructor for an ActiveMQQueueBrowser - used internally
      Throws:
      jakarta.jms.JMSException
  • Method Details

    • getEnumeration

      public Enumeration getEnumeration() throws jakarta.jms.JMSException
      Gets an enumeration for browsing the current queue messages in the order they would be received.
      Specified by:
      getEnumeration in interface jakarta.jms.QueueBrowser
      Returns:
      an enumeration for browsing the messages
      Throws:
      jakarta.jms.JMSException - if the JMS provider fails to get the enumeration for this browser due to some internal error.
    • hasMoreElements

      public boolean hasMoreElements()
      Specified by:
      hasMoreElements in interface Enumeration
      Returns:
      true if more messages to process
    • nextElement

      public Object nextElement()
      Specified by:
      nextElement in interface Enumeration
      Returns:
      the next message
    • close

      public void close() throws jakarta.jms.JMSException
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface jakarta.jms.QueueBrowser
      Throws:
      jakarta.jms.JMSException
    • getQueue

      public jakarta.jms.Queue getQueue() throws jakarta.jms.JMSException
      Gets the queue associated with this queue browser.
      Specified by:
      getQueue in interface jakarta.jms.QueueBrowser
      Returns:
      the queue
      Throws:
      jakarta.jms.JMSException - if the JMS provider fails to get the queue associated with this browser due to some internal error.
    • getMessageSelector

      public String getMessageSelector() throws jakarta.jms.JMSException
      Specified by:
      getMessageSelector in interface jakarta.jms.QueueBrowser
      Throws:
      jakarta.jms.JMSException
    • waitForMessage

      protected void waitForMessage()
      Wait on a semaphore for a fixed amount of time for a message to come in.
      Throws:
      jakarta.jms.JMSException
    • notifyMessageAvailable

      protected void notifyMessageAvailable()
    • toString

      public String toString()
      Overrides:
      toString in class Object