Package org.apache.qpid.jms
Class JmsQueueBrowser
- java.lang.Object
-
- org.apache.qpid.jms.JmsQueueBrowser
-
- All Implemented Interfaces:
jakarta.jms.QueueBrowser,AutoCloseable,Enumeration<jakarta.jms.Message>
public class JmsQueueBrowser extends Object implements AutoCloseable, jakarta.jms.QueueBrowser, Enumeration<jakarta.jms.Message>
A client uses aQueueBrowserobject to look at messages on a queue without removing them.The
getEnumerationmethod returns ajava.util.Enumerationthat 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
QueueBrowsercan be created from either aSessionor aQueueSession.- 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.LoggerLOG
-
Constructor Summary
Constructors Modifier Constructor Description protectedJmsQueueBrowser(JmsSession session, JmsDestination destination, String selector)Constructor for an JmsQueueBrowser - used internally
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Enumeration<jakarta.jms.Message>getEnumeration()Gets an enumeration for browsing the current queue messages in the order they would be received.StringgetMessageSelector()jakarta.jms.QueuegetQueue()Gets the queue associated with this queue browser.booleanhasMoreElements()jakarta.jms.MessagenextElement()StringtoString()-
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
-
-
-
-
Constructor Detail
-
JmsQueueBrowser
protected JmsQueueBrowser(JmsSession session, JmsDestination destination, 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 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:
getEnumerationin interfacejakarta.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:
hasMoreElementsin interfaceEnumeration<jakarta.jms.Message>- Returns:
- true if more messages to process
-
nextElement
public jakarta.jms.Message nextElement()
- Specified by:
nextElementin interfaceEnumeration<jakarta.jms.Message>- Returns:
- the next message if one exists
- Throws:
NoSuchElementException- if no more elements are available.
-
close
public void close() throws jakarta.jms.JMSException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejakarta.jms.QueueBrowser- Throws:
jakarta.jms.JMSException
-
getQueue
public jakarta.jms.Queue getQueue() throws jakarta.jms.JMSExceptionGets the queue associated with this queue browser.- Specified by:
getQueuein interfacejakarta.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:
getMessageSelectorin interfacejakarta.jms.QueueBrowser- Throws:
jakarta.jms.JMSException
-
-