MessageConsumer object to receive messages
from a destination. A MessageConsumer object is created by
passing a Destination object to a message-consumer creation
method supplied by a session.
MessageConsumer is the parent interface for all message
consumers.
A MessageConsumer can be created with a message selector. A message
selector 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 MessageConsumer's
messages or have the MessageConsumer asynchronously deliver them
as they arrive.
For synchronous receipt, a client can request the next message from a
MessageConsumer using one of its receive methods. There are several
variations of receive that allow a client to poll or wait for the next message.
For asynchronous delivery, a client can register a MessageListener object
with a MessageConsumer.
As messages arrive at the MessageConsumer, it delivers them by calling
the MessageListener's onMessage method.
It is a client programming error for a MessageListener to throw an exception.
javax.jms.QueueReceiver, javax.jms.TopicSubscriber, javax.jms.Session
| Modifier and Type | Method and Description |
|---|---|
| public void | |
| public MessageListener | Returns: theMessageConsumer's MessageListener, or null if one was not setGets the |
| public String | Returns: this message consumer's message selector, or null if no message selector exists for the message consumer (that is, if the message selector was not set or was set to null or the empty string)Gets this message consumer's message selector expression. |
| public Message | Returns: the next message produced for this message consumer, or null if this message consumer is concurrently closedReceives the next message produced for this message consumer. |
| public Message | Returns: the next message produced for this message consumer, or null if the timeout expires or this message consumer is concurrently closedthe timeout value (in milliseconds) timeout)Receives the next message that arrives within the specified timeout interval. |
| public Message | Returns: the next message produced for this message consumer, or null if one is not availableReceives the next message if one is immediately available. |
| public void | setMessageListener(MessageListener
the listener to which the messages are to be
delivered listener)Sets the |
| close | back to summary |
|---|---|
| public void close() throws JMSException Redeclares java. Closes the message consumer.
Since a provider may allocate some resources on behalf of a
This call will block until a If this method is called whilst a message listener is in progress in another thread then it will block until the message listener has completed.
This method may be called from a message listener's
This method is the only
| |
| getMessageListener | back to summary |
|---|---|
| public MessageListener getMessageListener() throws JMSException Gets the
This method must not be used in a Java EE web or EJB application.
Doing so may cause a
| |
| getMessageSelector | back to summary |
|---|---|
| public String getMessageSelector() throws JMSException Gets this message consumer's message selector expression.
| |
| receive | back to summary |
|---|---|
| public Message receive() throws JMSException Receives the next message produced for this message consumer. This call blocks indefinitely until a message is produced or until this message consumer is closed. If this
| |
| receive | back to summary |
|---|---|
| public Message receive(long timeout) throws JMSException Receives the next message that arrives within the specified timeout interval. This call blocks until a message arrives, the
timeout expires, or this message consumer is closed.
A
| |
| receiveNoWait | back to summary |
|---|---|
| public Message receiveNoWait() throws JMSException Receives the next message if one is immediately available.
| |
| setMessageListener | back to summary |
|---|---|
| public void setMessageListener(MessageListener listener) throws JMSException Sets the
Setting the the
The effect of calling this method
while messages are being consumed by an existing listener
or the
This method must not be used in a Java EE web or EJB application.
Doing so may cause a
| |