类 ConsumerInterceptors<T>

  • 所有已实现的接口:
    java.io.Closeable, java.lang.AutoCloseable

    public class ConsumerInterceptors<T>
    extends java.lang.Object
    implements java.io.Closeable
    A container that hold the list ConsumerInterceptor and wraps calls to the chain of custom interceptors.
    • 构造器概要

      构造器 
      构造器 说明
      ConsumerInterceptors​(java.util.List<org.apache.pulsar.client.api.ConsumerInterceptor<T>> interceptors)  
    • 方法概要

      所有方法 实例方法 具体方法 
      修饰符和类型 方法 说明
      org.apache.pulsar.client.api.Message<T> beforeConsume​(org.apache.pulsar.client.api.Consumer<T> consumer, org.apache.pulsar.client.api.Message<T> message)
      This is called just before the message is returned by Consumer.receive(), MessageListener.received(Consumer, Message) or the CompletableFuture returned by Consumer.receiveAsync() completes.
      void close()  
      void onAcknowledge​(org.apache.pulsar.client.api.Consumer<T> consumer, org.apache.pulsar.client.api.MessageId messageId, java.lang.Throwable exception)
      This is called when acknowledge request return from the broker.
      void onAcknowledgeCumulative​(org.apache.pulsar.client.api.Consumer<T> consumer, org.apache.pulsar.client.api.MessageId messageId, java.lang.Throwable exception)
      This is called when acknowledge cumulative request return from the broker.
      void onAckTimeoutSend​(org.apache.pulsar.client.api.Consumer<T> consumer, java.util.Set<org.apache.pulsar.client.api.MessageId> messageIds)
      This is called when a redelivery from an acknowledge timeout occurs.
      void onNegativeAcksSend​(org.apache.pulsar.client.api.Consumer<T> consumer, java.util.Set<org.apache.pulsar.client.api.MessageId> messageIds)
      This is called when a redelivery from a negative acknowledge occurs.
      void onPartitionsChange​(java.lang.String topicName, int partitions)  
      • 从类继承的方法 java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 构造器详细资料

      • ConsumerInterceptors

        public ConsumerInterceptors​(java.util.List<org.apache.pulsar.client.api.ConsumerInterceptor<T>> interceptors)
    • 方法详细资料

      • beforeConsume

        public org.apache.pulsar.client.api.Message<T> beforeConsume​(org.apache.pulsar.client.api.Consumer<T> consumer,
                                                                     org.apache.pulsar.client.api.Message<T> message)
        This is called just before the message is returned by Consumer.receive(), MessageListener.received(Consumer, Message) or the CompletableFuture returned by Consumer.receiveAsync() completes.

        This method calls ConsumerInterceptor.beforeConsume(Consumer, Message) for each interceptor. Messages returned from each interceptor get passed to beforeConsume() of the next interceptor in the chain of interceptors.

        This method does not throw exceptions. If any of the interceptors in the chain throws an exception, it gets caught and logged, and next interceptor in int the chain is called with 'messages' returned by the previous successful interceptor beforeConsume call.

        参数:
        consumer - the consumer which contains the interceptors
        message - message to be consume by the client.
        返回:
        messages that are either modified by interceptors or same as messages passed to this method.
      • onAcknowledge

        public void onAcknowledge​(org.apache.pulsar.client.api.Consumer<T> consumer,
                                  org.apache.pulsar.client.api.MessageId messageId,
                                  java.lang.Throwable exception)
        This is called when acknowledge request return from the broker.

        This method calls ConsumerInterceptor.onAcknowledge(Consumer, MessageId, Throwable) method for each interceptor.

        This method does not throw exceptions. Exceptions thrown by any of interceptors in the chain are logged, but not propagated.

        参数:
        consumer - the consumer which contains the interceptors
        messageId - message to acknowledge.
        exception - exception returned by broker.
      • onAcknowledgeCumulative

        public void onAcknowledgeCumulative​(org.apache.pulsar.client.api.Consumer<T> consumer,
                                            org.apache.pulsar.client.api.MessageId messageId,
                                            java.lang.Throwable exception)
        This is called when acknowledge cumulative request return from the broker.

        This method calls ConsumerInterceptor.onAcknowledgeCumulative(Consumer, MessageId, Throwable) (Message, Throwable)} method for each interceptor.

        This method does not throw exceptions. Exceptions thrown by any of interceptors in the chain are logged, but not propagated.

        参数:
        consumer - the consumer which contains the interceptors
        messageId - messages to acknowledge.
        exception - exception returned by broker.
      • onNegativeAcksSend

        public void onNegativeAcksSend​(org.apache.pulsar.client.api.Consumer<T> consumer,
                                       java.util.Set<org.apache.pulsar.client.api.MessageId> messageIds)
        This is called when a redelivery from a negative acknowledge occurs.

        This method calls onNegativeAcksSend(Consumer, Set<MessageId>) method for each interceptor.

        This method does not throw exceptions. Exceptions thrown by any of interceptors in the chain are logged, but not propagated.

        参数:
        consumer - the consumer which contains the interceptors.
        messageIds - set of message IDs being redelivery due a negative acknowledge.
      • onAckTimeoutSend

        public void onAckTimeoutSend​(org.apache.pulsar.client.api.Consumer<T> consumer,
                                     java.util.Set<org.apache.pulsar.client.api.MessageId> messageIds)
        This is called when a redelivery from an acknowledge timeout occurs.

        This method calls onAckTimeoutSend(Consumer, Set<MessageId>) method for each interceptor.

        This method does not throw exceptions. Exceptions thrown by any of interceptors in the chain are logged, but not propagated.

        参数:
        consumer - the consumer which contains the interceptors.
        messageIds - set of message IDs being redelivery due an acknowledge timeout.
      • onPartitionsChange

        public void onPartitionsChange​(java.lang.String topicName,
                                       int partitions)
      • close

        public void close()
                   throws java.io.IOException
        指定者:
        close 在接口中 java.lang.AutoCloseable
        指定者:
        close 在接口中 java.io.Closeable
        抛出:
        java.io.IOException