Class JmsQueueBrowser

  • All Implemented Interfaces:
    jakarta.jms.QueueBrowser, java.lang.AutoCloseable, java.util.Enumeration<jakarta.jms.Message>

    public class JmsQueueBrowser
    extends java.lang.Object
    implements java.lang.AutoCloseable, jakarta.jms.QueueBrowser, java.util.Enumeration<jakarta.jms.Message>
    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
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static org.slf4j.Logger LOG  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      protected JmsQueueBrowser​(JmsSession session, JmsDestination destination, java.lang.String selector)
      Constructor for an JmsQueueBrowser - used internally
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void close()  
      java.util.Enumeration<jakarta.jms.Message> getEnumeration()
      Gets an enumeration for browsing the current queue messages in the order they would be received.
      java.lang.String getMessageSelector()  
      jakarta.jms.Queue getQueue()
      Gets the queue associated with this queue browser.
      boolean hasMoreElements()  
      jakarta.jms.Message nextElement()  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface java.util.Enumeration

        asIterator
    • Field Detail

      • LOG

        protected static final org.slf4j.Logger LOG
    • Constructor Detail

      • JmsQueueBrowser

        protected JmsQueueBrowser​(JmsSession session,
                                  JmsDestination destination,
                                  java.lang.String selector)
                           throws jakarta.jms.JMSException
        Constructor for an JmsQueueBrowser - used internally
        Parameters:
        session - The Session that owns this instance.
        destination - The Destination that will be browsed.
        selector - The selector string used to filter the browsed message.
        Throws:
        jakarta.jms.JMSException - if an error occurs while creating this instance.
    • Method Detail

      • getEnumeration

        public java.util.Enumeration<jakarta.jms.Message> 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 java.util.Enumeration<jakarta.jms.Message>
        Returns:
        true if more messages to process
      • nextElement

        public jakarta.jms.Message nextElement()
        Specified by:
        nextElement in interface java.util.Enumeration<jakarta.jms.Message>
        Returns:
        the next message if one exists
        Throws:
        java.util.NoSuchElementException - if no more elements are available.
      • close

        public void close()
                   throws jakarta.jms.JMSException
        Specified by:
        close in interface java.lang.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 java.lang.String getMessageSelector()
                                            throws jakarta.jms.JMSException
        Specified by:
        getMessageSelector in interface jakarta.jms.QueueBrowser
        Throws:
        jakarta.jms.JMSException
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object