Class ActiveMQQueueBrowser

  • All Implemented Interfaces:
    AutoCloseable, Enumeration, javax.jms.QueueBrowser

    public class ActiveMQQueueBrowser
    extends Object
    implements javax.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(javax.jms.Queue), QueueSession.createBrowser(javax.jms.Queue), QueueBrowser, QueueReceiver
    • Constructor Detail

      • ActiveMQQueueBrowser

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

      • getEnumeration

        public Enumeration getEnumeration()
                                   throws javax.jms.JMSException
        Gets an enumeration for browsing the current queue messages in the order they would be received.
        Specified by:
        getEnumeration in interface javax.jms.QueueBrowser
        Returns:
        an enumeration for browsing the messages
        Throws:
        javax.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
      • close

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

        public javax.jms.Queue getQueue()
                                 throws javax.jms.JMSException
        Gets the queue associated with this queue browser.
        Specified by:
        getQueue in interface javax.jms.QueueBrowser
        Returns:
        the queue
        Throws:
        javax.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 javax.jms.JMSException
        Specified by:
        getMessageSelector in interface javax.jms.QueueBrowser
        Throws:
        javax.jms.JMSException
      • waitForMessage

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

        protected void notifyMessageAvailable()