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.

The 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 Details

    • handleConsumeOk

      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.
      Parameters:
      consumerTag - the consumer tag associated with the consumer
    • handleCancelOk

      void handleCancelOk(String consumerTag)
      Called when the consumer is cancelled by a call to Channel.basicCancel(java.lang.String).
      Parameters:
      consumerTag - the consumer tag associated with the consumer
    • handleCancel

      void handleCancel(String consumerTag) throws IOException
      Called when the consumer is cancelled for reasons other than by a call to 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).
      Parameters:
      consumerTag - the consumer tag associated with the consumer
      Throws:
      IOException
    • handleShutdownSignal

      void handleShutdownSignal(String consumerTag, ShutdownSignalException sig)
      Called when either the channel or the underlying connection has been shut down.
      Parameters:
      consumerTag - the consumer tag associated with the consumer
      sig - a ShutdownSignalException indicating the reason for the shut down
    • handleRecoverOk

      void handleRecoverOk(String consumerTag)
      Called when a 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.
      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 a basic.deliver is received for this consumer.
      Parameters:
      consumerTag - the consumer tag associated with the consumer
      envelope - packaging data for the message
      properties - content header data for the message
      body - the message body (opaque, client-specific byte array)
      Throws:
      IOException - if the consumer encounters an I/O error while processing the message
      See Also: