Class ConsumerDispatcher


  • final class ConsumerDispatcher
    extends java.lang.Object
    Dispatches notifications to a Consumer on an internally-managed executor service and work pool.

    Each Channel has a single ConsumerDispatcher, but the executor service and work pool may be shared with other channels, typically those on the same AMQConnection.

    • Field Detail

      • channel

        private final Channel channel
      • shuttingDown

        private volatile boolean shuttingDown
      • shutdownConsumersDriven

        private volatile boolean shutdownConsumersDriven
      • shutdownConsumersComplete

        private volatile java.util.concurrent.CountDownLatch shutdownConsumersComplete
    • Method Detail

      • quiesce

        public void quiesce()
        Prepare for shutdown of all consumers on this channel
      • setUnlimited

        public void setUnlimited​(boolean unlimited)
      • handleConsumeOk

        public void handleConsumeOk​(Consumer delegate,
                                    java.lang.String consumerTag)
      • handleCancelOk

        public void handleCancelOk​(Consumer delegate,
                                   java.lang.String consumerTag)
      • handleCancel

        public void handleCancel​(Consumer delegate,
                                 java.lang.String consumerTag)
      • handleRecoverOk

        public void handleRecoverOk​(Consumer delegate,
                                    java.lang.String consumerTag)
      • handleDelivery

        public void handleDelivery​(Consumer delegate,
                                   java.lang.String consumerTag,
                                   Envelope envelope,
                                   AMQP.BasicProperties properties,
                                   byte[] body)
                            throws java.io.IOException
        Throws:
        java.io.IOException
      • handleShutdownSignal

        public java.util.concurrent.CountDownLatch handleShutdownSignal​(java.util.Map<java.lang.String,​Consumer> consumers,
                                                                        ShutdownSignalException signal)
      • notifyConsumersOfShutdown

        private void notifyConsumersOfShutdown​(java.util.Map<java.lang.String,​Consumer> consumers,
                                               ShutdownSignalException signal)
      • executeUnlessShuttingDown

        private void executeUnlessShuttingDown​(java.lang.Runnable r)
      • execute

        private void execute​(java.lang.Runnable r)
      • checkShutdown

        private void checkShutdown()