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
.Modifier and Type | Method and Description |
---|---|
void |
handleCancel(String consumerTag)
Called when the consumer is cancelled for reasons other than by a call to
Channel.basicCancel(java.lang.String) . |
void |
handleCancelOk(String consumerTag)
Called when the consumer is cancelled by a call to
Channel.basicCancel(java.lang.String) . |
void |
handleConsumeOk(String consumerTag)
Called when the consumer is registered by a call to any of the
Channel.basicConsume(java.lang.String, com.rabbitmq.client.Consumer) methods. |
void |
handleDelivery(String consumerTag,
Envelope envelope,
AMQP.BasicProperties properties,
byte[] body)
Called when a
basic.deliver is received for this consumer. |
void |
handleRecoverOk(String consumerTag)
Called when a
basic.recover-ok is received
in reply to a basic.recover . |
void |
handleShutdownSignal(String consumerTag,
ShutdownSignalException sig)
Called when either the channel or the underlying connection has been shut down.
|
void handleConsumeOk(String consumerTag)
Channel.basicConsume(java.lang.String, com.rabbitmq.client.Consumer)
methods.consumerTag
- the consumer tag associated with the consumervoid handleCancelOk(String consumerTag)
Channel.basicCancel(java.lang.String)
.consumerTag
- the consumer tag associated with the consumervoid handleCancel(String consumerTag) throws IOException
Channel.basicCancel(java.lang.String)
. For example, the queue has been deleted.
See handleCancelOk(java.lang.String)
for notification of consumer
cancellation due to Channel.basicCancel(java.lang.String)
.consumerTag
- the consumer tag associated with the consumerIOException
void handleShutdownSignal(String consumerTag, ShutdownSignalException sig)
consumerTag
- the consumer tag associated with the consumersig
- a ShutdownSignalException
indicating the reason for the shut downvoid handleRecoverOk(String consumerTag)
basic.recover-ok
is received
in reply to a basic.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.consumerTag
- the consumer tag associated with the consumervoid handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException
basic.deliver
is received for this consumer.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)IOException
- if the consumer encounters an I/O error while processing the messageEnvelope
Copyright © 2022 VMware, Inc. or its affiliates.. All rights reserved.