Class CompositeBatchInterceptor<K,V>

java.lang.Object
org.springframework.kafka.listener.CompositeBatchInterceptor<K,V>
Type Parameters:
K - the key type.
V - the value type.
All Implemented Interfaces:
BatchInterceptor<K,V>, ThreadStateProcessor

public class CompositeBatchInterceptor<K,V> extends Object implements BatchInterceptor<K,V>
A BatchInterceptor that delegates to one or more BatchInterceptors in order.
Since:
2.7
Author:
Gary Russell
  • Constructor Summary

    Constructors
    Constructor
    Description
    Construct an instance with the provided delegates.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    clearThreadState(org.apache.kafka.clients.consumer.Consumer<?,?> consumer)
    Call to clear thread-bound resources which were set up in ThreadStateProcessor.setupThreadState(Consumer).
    void
    failure(org.apache.kafka.clients.consumer.ConsumerRecords<K,V> records, Exception exception, org.apache.kafka.clients.consumer.Consumer<K,V> consumer)
    Called after the listener throws an exception.
    org.apache.kafka.clients.consumer.ConsumerRecords<K,V>
    intercept(org.apache.kafka.clients.consumer.ConsumerRecords<K,V> records, org.apache.kafka.clients.consumer.Consumer<K,V> consumer)
    Perform some action on the records or return a different one.
    void
    setupThreadState(org.apache.kafka.clients.consumer.Consumer<?,?> consumer)
    Call to set up thread-bound resources which will be available for the entire duration of enclosed operation involving a Consumer.
    void
    success(org.apache.kafka.clients.consumer.ConsumerRecords<K,V> records, org.apache.kafka.clients.consumer.Consumer<K,V> consumer)
    Called after the listener exits normally.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • CompositeBatchInterceptor

      @SafeVarargs public CompositeBatchInterceptor(BatchInterceptor<K,V>... delegates)
      Construct an instance with the provided delegates.
      Parameters:
      delegates - the delegates.
  • Method Details

    • intercept

      public org.apache.kafka.clients.consumer.ConsumerRecords<K,V> intercept(org.apache.kafka.clients.consumer.ConsumerRecords<K,V> records, org.apache.kafka.clients.consumer.Consumer<K,V> consumer)
      Description copied from interface: BatchInterceptor
      Perform some action on the records or return a different one. If null is returned the records will be skipped. Invoked before the listener. IMPORTANT: If transactions are being used, and this method throws an exception, it cannot be used with the container's interceptBeforeTx property set to true.
      Specified by:
      intercept in interface BatchInterceptor<K,V>
      Parameters:
      records - the records.
      consumer - the consumer.
      Returns:
      the records or null.
    • success

      public void success(org.apache.kafka.clients.consumer.ConsumerRecords<K,V> records, org.apache.kafka.clients.consumer.Consumer<K,V> consumer)
      Description copied from interface: BatchInterceptor
      Called after the listener exits normally.
      Specified by:
      success in interface BatchInterceptor<K,V>
      Parameters:
      records - the records.
      consumer - the consumer.
    • failure

      public void failure(org.apache.kafka.clients.consumer.ConsumerRecords<K,V> records, Exception exception, org.apache.kafka.clients.consumer.Consumer<K,V> consumer)
      Description copied from interface: BatchInterceptor
      Called after the listener throws an exception.
      Specified by:
      failure in interface BatchInterceptor<K,V>
      Parameters:
      records - the records.
      exception - the exception.
      consumer - the consumer.
    • setupThreadState

      public void setupThreadState(org.apache.kafka.clients.consumer.Consumer<?,?> consumer)
      Description copied from interface: ThreadStateProcessor
      Call to set up thread-bound resources which will be available for the entire duration of enclosed operation involving a Consumer.
      Specified by:
      setupThreadState in interface ThreadStateProcessor
      Parameters:
      consumer - the consumer.
    • clearThreadState

      public void clearThreadState(org.apache.kafka.clients.consumer.Consumer<?,?> consumer)
      Description copied from interface: ThreadStateProcessor
      Call to clear thread-bound resources which were set up in ThreadStateProcessor.setupThreadState(Consumer).
      Specified by:
      clearThreadState in interface ThreadStateProcessor
      Parameters:
      consumer - the consumer.