org.apache.activemq
Class ActiveMQQueueBrowser

java.lang.Object
  extended by org.apache.activemq.ActiveMQQueueBrowser
All Implemented Interfaces:
Enumeration, QueueBrowser

public class ActiveMQQueueBrowser
extends Object
implements 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 Summary
protected ActiveMQQueueBrowser(ActiveMQSession session, ConsumerId consumerId, ActiveMQDestination destination, String selector, boolean dispatchAsync)
          Constructor for an ActiveMQQueueBrowser - used internally
 
Method Summary
 void close()
           
 Enumeration getEnumeration()
          Gets an enumeration for browsing the current queue messages in the order they would be received.
 String getMessageSelector()
           
 Queue getQueue()
          Gets the queue associated with this queue browser.
 boolean hasMoreElements()
           
 Object nextElement()
           
protected  void notifyMessageAvailable()
           
 String toString()
           
protected  void waitForMessage()
          Wait on a semaphore for a fixed amount of time for a message to come in.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ActiveMQQueueBrowser

protected ActiveMQQueueBrowser(ActiveMQSession session,
                               ConsumerId consumerId,
                               ActiveMQDestination destination,
                               String selector,
                               boolean dispatchAsync)
                        throws JMSException
Constructor for an ActiveMQQueueBrowser - used internally

Throws:
JMSException
Method Detail

getEnumeration

public Enumeration getEnumeration()
                           throws JMSException
Gets an enumeration for browsing the current queue messages in the order they would be received.

Specified by:
getEnumeration in interface QueueBrowser
Returns:
an enumeration for browsing the messages
Throws:
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 JMSException
Specified by:
close in interface QueueBrowser
Throws:
JMSException

getQueue

public Queue getQueue()
               throws JMSException
Gets the queue associated with this queue browser.

Specified by:
getQueue in interface QueueBrowser
Returns:
the queue
Throws:
JMSException - if the JMS provider fails to get the queue associated with this browser due to some internal error.

getMessageSelector

public String getMessageSelector()
                          throws JMSException
Specified by:
getMessageSelector in interface QueueBrowser
Throws:
JMSException

waitForMessage

protected void waitForMessage()
Wait on a semaphore for a fixed amount of time for a message to come in.

Throws:
JMSException

notifyMessageAvailable

protected void notifyMessageAvailable()

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2005-2012 The Apache Software Foundation. All Rights Reserved.