public interface ClientConsumer extends AutoCloseable
receive()
methods
which will block until a message is received (or a timeout expires) or asynchronously
by setting a MessageHandler
.
receive()
methods are called.ClientSession.createConsumer(String)
Modifier and Type | Method and Description |
---|---|
void |
close()
Closes the consumer.
|
Exception |
getLastException()
Returns the last exception thrown by a call to this consumer's MessageHandler.
|
MessageHandler |
getMessageHandler()
Returns the MessageHandler associated to this consumer.
|
boolean |
isClosed()
Returns whether the consumer is closed or not.
|
ClientMessage |
receive()
Receives a message from a queue.
|
ClientMessage |
receive(long timeout)
Receives a message from a queue.
|
ClientMessage |
receiveImmediate()
Receives a message from a queue.
|
void |
setMessageHandler(MessageHandler handler)
Sets the MessageHandler for this consumer to consume messages asynchronously.
|
ClientMessage receive() throws HornetQException
This call will block indefinitely until a message is received.
Calling this method on a closed consumer will throw a HornetQException.
HornetQException
- if an exception occurs while waiting to receive a messageClientMessage receive(long timeout) throws HornetQException
This call will block until a message is received or the given timeout expires.
Calling this method on a closed consumer will throw a HornetQException.
timeout
- time (in milliseconds) to wait to receive a messagenull
if the time out expiredHornetQException
- if an exception occurs while waiting to receive a messageClientMessage receiveImmediate() throws HornetQException
This call will never wait indefinitely for a message, it will return null
if no
messages are available for this consumer.
Note however that there is a performance cost as an additional network trip to the server may required to check the queue status.
Calling this method on a closed consumer will throw a HornetQException.
null
if there are no messages in the queue for this consumerHornetQException
- if an exception occurs while waiting to receive a messageMessageHandler getMessageHandler() throws HornetQException
Calling this method on a closed consumer will throw a HornetQException.
null
HornetQException
- if an exception occurs while getting the MessageHandlervoid setMessageHandler(MessageHandler handler) throws HornetQException
Calling this method on a closed consumer will throw a HornetQException.
handler
- a MessageHandlerHornetQException
- if an exception occurs while setting the MessageHandlervoid close() throws HornetQException
Once this consumer is closed, it can not receive messages, whether synchronously or asynchronously.
close
in interface AutoCloseable
HornetQException
boolean isClosed()
true
if this consumer is closed, false
elseException getLastException()
null
Copyright © 2016 JBoss, a division of Red Hat. All rights reserved.