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 Consumers to call Channel or Connection methods without causing a deadlock.
Consumers on a particular Channel are invoked serially on one or more
dispatch threads. Consumers should avoid executing long-running code
because this will delay dispatch of messages to other Consumers on the same
Channel.
For a lambda-oriented syntax, use DeliverCallback,
CancelCallback, and ConsumerShutdownSignalCallback.- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidhandleCancel(String consumerTag) Called when the consumer is cancelled for reasons other than by a call toChannel.basicCancel(java.lang.String).voidhandleCancelOk(String consumerTag) Called when the consumer is cancelled by a call toChannel.basicCancel(java.lang.String).voidhandleConsumeOk(String consumerTag) Called when the consumer is registered by a call to any of theChannel.basicConsume(java.lang.String, com.rabbitmq.client.Consumer)methods.voidhandleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) Called when abasic.deliveris received for this consumer.voidhandleRecoverOk(String consumerTag) Called when abasic.recover-okis received in reply to abasic.recover.voidhandleShutdownSignal(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- aShutdownSignalExceptionindicating the reason for the shut down
-
handleRecoverOk
Called when abasic.recover-okis 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.deliveris 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:
-