Package com.rabbitmq.client
Interface Consumer
- All Known Subinterfaces:
RpcServer.RpcConsumer
- All Known Implementing Classes:
DefaultConsumer
public interface Consumer
Interface for application callback objects to receive notifications and messages from
a queue by subscription.
Most implementations will subclass DefaultConsumer
.
The methods of this interface are invoked in a dispatch
thread which is separate from the Connection
's thread. This
allows Consumer
s to call Channel
or Connection
methods without causing a deadlock.
Consumer
s on a particular Channel
are invoked serially on one or more
dispatch threads. Consumer
s should avoid executing long-running code
because this will delay dispatch of messages to other Consumer
s on the same
Channel
.
For a lambda-oriented syntax, use DeliverCallback
,
CancelCallback
, and ConsumerShutdownSignalCallback
.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
handleCancel
(String consumerTag) Called when the consumer is cancelled for reasons other than by a call toChannel.basicCancel(java.lang.String)
.void
handleCancelOk
(String consumerTag) Called when the consumer is cancelled by a call toChannel.basicCancel(java.lang.String)
.void
handleConsumeOk
(String consumerTag) Called when the consumer is registered by a call to any of theChannel.basicConsume(java.lang.String, com.rabbitmq.client.Consumer)
methods.void
handleDelivery
(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) Called when abasic.deliver
is received for this consumer.void
handleRecoverOk
(String consumerTag) Called when abasic.recover-ok
is received in reply to abasic.recover
.void
handleShutdownSignal
(String consumerTag, ShutdownSignalException sig) Called when either the channel or the underlying connection has been shut down.
-
Method Details
-
handleConsumeOk
Called when the consumer is registered by a call to any of theChannel.basicConsume(java.lang.String, com.rabbitmq.client.Consumer)
methods.- Parameters:
consumerTag
- the consumer tag associated with the consumer
-
handleCancelOk
Called when the consumer is cancelled by a call toChannel.basicCancel(java.lang.String)
.- Parameters:
consumerTag
- the consumer tag associated with the consumer
-
handleCancel
Called when the consumer is cancelled for reasons other than by a call toChannel.basicCancel(java.lang.String)
. For example, the queue has been deleted. SeehandleCancelOk(java.lang.String)
for notification of consumer cancellation due toChannel.basicCancel(java.lang.String)
.- Parameters:
consumerTag
- the consumer tag associated with the consumer- Throws:
IOException
-
handleShutdownSignal
Called when either the channel or the underlying connection has been shut down.- Parameters:
consumerTag
- the consumer tag associated with the consumersig
- aShutdownSignalException
indicating the reason for the shut down
-
handleRecoverOk
Called when abasic.recover-ok
is received in reply to abasic.recover
. All messages received before this is invoked that haven't been ack'ed will be re-delivered. All messages received afterwards won't be.- Parameters:
consumerTag
- the consumer tag associated with the consumer
-
handleDelivery
void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException Called when abasic.deliver
is received for this consumer.- Parameters:
consumerTag
- the consumer tag associated with the consumerenvelope
- packaging data for the messageproperties
- content header data for the messagebody
- the message body (opaque, client-specific byte array)- Throws:
IOException
- if the consumer encounters an I/O error while processing the message- See Also:
-