Interface RecordInterceptor<K,V>
- Type Parameters:
K- the key type.V- the value type.
- All Superinterfaces:
ThreadStateProcessor
- All Known Subinterfaces:
ConsumerAwareRecordInterceptor<K,V>
- All Known Implementing Classes:
CompositeRecordInterceptor
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
An interceptor for
ConsumerRecord invoked by the listener
container before and after invoking the listener.- Since:
- 2.2.7
- Author:
- Gary Russell
-
Method Summary
Modifier and TypeMethodDescriptiondefault voidafterRecord(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> record, org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Called when processing the record is complete eithersuccess(ConsumerRecord, Consumer)orfailure(ConsumerRecord, Exception, Consumer).default voidfailure(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> record, Exception exception, org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Called after the listener throws an exception.intercept(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> record, org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Perform some action on the record or return a different one.default voidsuccess(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> record, org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Called after the listener exits normally.Methods inherited from interface org.springframework.kafka.listener.ThreadStateProcessor
clearThreadState, setupThreadState
-
Method Details
-
intercept
@Nullable org.apache.kafka.clients.consumer.ConsumerRecord<K,V> intercept(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> record, org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Perform some action on the record or return a different one. If null is returned the record will be skipped. Invoked before the listener. IMPORTANT; if this method returns a different record, the topic, partition and offset must not be changed to avoid undesirable side-effects.- Parameters:
record- the record.consumer- the consumer.- Returns:
- the record or null.
- Since:
- 2.7
-
success
default void success(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> record, org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Called after the listener exits normally.- Parameters:
record- the record.consumer- the consumer.- Since:
- 2.7
-
failure
default void failure(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> record, Exception exception, org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Called after the listener throws an exception.- Parameters:
record- the record.exception- the exception.consumer- the consumer.- Since:
- 2.7
-
afterRecord
default void afterRecord(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> record, org.apache.kafka.clients.consumer.Consumer<K, V> consumer) Called when processing the record is complete eithersuccess(ConsumerRecord, Consumer)orfailure(ConsumerRecord, Exception, Consumer).- Parameters:
record- the record.consumer- the consumer.- Since:
- 2.8
-