Package org.apache.qpid.jms
Class JmsQueueBrowser
- java.lang.Object
-
- org.apache.qpid.jms.JmsQueueBrowser
-
- All Implemented Interfaces:
AutoCloseable,Enumeration<javax.jms.Message>,javax.jms.QueueBrowser
public class JmsQueueBrowser extends Object implements AutoCloseable, javax.jms.QueueBrowser, Enumeration<javax.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(javax.jms.Queue),QueueSession.createBrowser(javax.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<javax.jms.Message>getEnumeration()Gets an enumeration for browsing the current queue messages in the order they would be received.StringgetMessageSelector()javax.jms.QueuegetQueue()Gets the queue associated with this queue browser.booleanhasMoreElements()javax.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 javax.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:
javax.jms.JMSException- if an error occurs while creating this instance.
-
-
Method Detail
-
getEnumeration
public Enumeration<javax.jms.Message> getEnumeration() throws javax.jms.JMSException
Gets an enumeration for browsing the current queue messages in the order they would be received.- Specified by:
getEnumerationin interfacejavax.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:
hasMoreElementsin interfaceEnumeration<javax.jms.Message>- Returns:
- true if more messages to process
-
nextElement
public javax.jms.Message nextElement()
- Specified by:
nextElementin interfaceEnumeration<javax.jms.Message>- Returns:
- the next message if one exists
- Throws:
NoSuchElementException- if no more elements are available.
-
close
public void close() throws javax.jms.JMSException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfacejavax.jms.QueueBrowser- Throws:
javax.jms.JMSException
-
getQueue
public javax.jms.Queue getQueue() throws javax.jms.JMSExceptionGets the queue associated with this queue browser.- Specified by:
getQueuein interfacejavax.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:
getMessageSelectorin interfacejavax.jms.QueueBrowser- Throws:
javax.jms.JMSException
-
-