|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
A client uses a message consumer to receive messages from a Destination. It is created by passing a Destination to a create message consumer method supplied by a Session.
The parent interface for all message consumers.
A message consumer can be created with a message selector. This allows the client to restrict the messages delivered to the message consumer to those that match the selector.
A client may either synchronously receive a message consumer's messages or have the consumer asynchronously deliver them as they arrive.
A client can request the next message from a message consumer using one of its receive methods. There are several variations of receive that allow a client to poll or wait for the next message.
A client can register a MessageListener object with a message consumer. As messages arrive at the message consumer, it delivers them by calling the MessageListener's onMessage method.
It is a client programming error for a MessageListener to throw an exception.
QueueReceiver
,
TopicSubscriber
,
Session
Method Summary | |
void |
close()
Since a provider may allocate some resources on behalf of a MessageConsumer outside the JVM, clients should close them when they are not needed. |
MessageListener |
getMessageListener()
Get the message consumer's MessageListener. |
java.lang.String |
getMessageSelector()
Get this message consumer's message selector expression. |
Message |
receive()
Receive the next message produced for this message consumer. |
Message |
receive(long timeout)
Receive the next message that arrives within the specified timeout interval. |
Message |
receiveNoWait()
Receive the next message if one is immediately available. |
void |
setMessageListener(MessageListener listener)
Set the message consumer's MessageListener. |
Method Detail |
public java.lang.String getMessageSelector() throws JMSException
public MessageListener getMessageListener() throws JMSException
setMessageListener(javax.jms.MessageListener)
public void setMessageListener(MessageListener listener) throws JMSException
Setting the message listener to null is the equivalent of unsetting the message listener for the message consumer.
Calling the setMessageListener method of MessageConsumer while messages are being consumed by an existing listener or the consumer is being used to synchronously consume messages is undefined.
messageListener
- the messages are delivered to this listenergetMessageListener()
public Message receive() throws JMSException
This call blocks indefinitely until a message is produced or until this message consumer is closed.
If this receive is done within a transaction, the message remains on the consumer until the transaction commits.
public Message receive(long timeout) throws JMSException
This call blocks until a message arrives, the timeout expires, or this message consumer is closed. A timeout of zero never expires and the call blocks indefinitely.
timeout
- the timeout value (in milliseconds)public Message receiveNoWait() throws JMSException
public void close() throws JMSException
This call blocks until a receive or message listener in progress has completed. A blocked message consumer receive call returns null when this message consumer is closed.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |