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
A
BatchInterceptor
that delegates to one or more BatchInterceptor
s in
order.- Since:
- 2.7
- Author:
- Gary Russell
-
Constructor Summary
ConstructorDescriptionCompositeBatchInterceptor
(BatchInterceptor<K, V>... delegates) Construct an instance with the provided delegates. -
Method Summary
Modifier and TypeMethodDescriptionvoid
clearThreadState
(org.apache.kafka.clients.consumer.Consumer<?, ?> consumer) Call to clear thread-bound resources which were set up inThreadStateProcessor.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.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 aConsumer
.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.
-
Constructor Details
-
CompositeBatchInterceptor
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.- Specified by:
intercept
in interfaceBatchInterceptor<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 interfaceBatchInterceptor<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 interfaceBatchInterceptor<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 aConsumer
.- Specified by:
setupThreadState
in interfaceThreadStateProcessor
- 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 inThreadStateProcessor.setupThreadState(Consumer)
.- Specified by:
clearThreadState
in interfaceThreadStateProcessor
- Parameters:
consumer
- the consumer.
-