Class FilteringMessageListenerAdapter<K,V>
java.lang.Object
org.springframework.kafka.listener.adapter.AbstractDelegatingMessageListenerAdapter<T>
org.springframework.kafka.listener.adapter.AbstractFilteringMessageListener<K,V,MessageListener<K,V>>
org.springframework.kafka.listener.adapter.FilteringMessageListenerAdapter<K,V>
- Type Parameters:
K
- the key type.V
- the value type.
- All Implemented Interfaces:
AcknowledgingConsumerAwareMessageListener<K,
,V> ConsumerSeekAware
,DelegatingMessageListener<MessageListener<K,
,V>> GenericMessageListener<org.apache.kafka.clients.consumer.ConsumerRecord<K,
,V>> MessageListener<K,
V>
public class FilteringMessageListenerAdapter<K,V>
extends AbstractFilteringMessageListener<K,V,MessageListener<K,V>>
implements AcknowledgingConsumerAwareMessageListener<K,V>
A
MessageListener
adapter that implements filter logic
via a RecordFilterStrategy
.- Author:
- Gary Russell
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.springframework.kafka.listener.ConsumerSeekAware
ConsumerSeekAware.ConsumerSeekCallback
-
Field Summary
Fields inherited from class org.springframework.kafka.listener.adapter.AbstractDelegatingMessageListenerAdapter
delegate, delegateType, logger
-
Constructor Summary
ConstructorDescriptionFilteringMessageListenerAdapter
(MessageListener<K, V> delegate, RecordFilterStrategy<K, V> recordFilterStrategy) Create an instance with the supplied strategy and delegate listener.FilteringMessageListenerAdapter
(MessageListener<K, V> delegate, RecordFilterStrategy<K, V> recordFilterStrategy, boolean ackDiscarded) Create an instance with the supplied strategy and delegate listener. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Invoked with data from kafka.void
onMessage
(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> data, org.apache.kafka.clients.consumer.Consumer<?, ?> consumer) Invoked with data from kafka and provides access to theConsumer
.void
onMessage
(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> data, Acknowledgment acknowledgment) Invoked with data from kafka.void
onMessage
(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> consumerRecord, Acknowledgment acknowledgment, org.apache.kafka.clients.consumer.Consumer<?, ?> consumer) Invoked with data from kafka and provides access to theConsumer
.Methods inherited from class org.springframework.kafka.listener.adapter.AbstractFilteringMessageListener
filter, getRecordFilterStrategy
Methods inherited from class org.springframework.kafka.listener.adapter.AbstractDelegatingMessageListenerAdapter
getDelegate, onIdleContainer, onPartitionsAssigned, onPartitionsRevoked, registerSeekCallback
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.kafka.listener.ConsumerSeekAware
onFirstPoll, unregisterSeekCallback
-
Constructor Details
-
FilteringMessageListenerAdapter
public FilteringMessageListenerAdapter(MessageListener<K, V> delegate, RecordFilterStrategy<K, V> recordFilterStrategy) Create an instance with the supplied strategy and delegate listener.- Parameters:
delegate
- the delegate.recordFilterStrategy
- the filter.
-
FilteringMessageListenerAdapter
public FilteringMessageListenerAdapter(MessageListener<K, V> delegate, RecordFilterStrategy<K, V> recordFilterStrategy, boolean ackDiscarded) Create an instance with the supplied strategy and delegate listener.- Parameters:
delegate
- the delegate.recordFilterStrategy
- the filter.ackDiscarded
- true to ack (commit offset for) discarded messages when the listener is configured for manual acks.
-
-
Method Details
-
onMessage
public void onMessage(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> consumerRecord, @Nullable Acknowledgment acknowledgment, org.apache.kafka.clients.consumer.Consumer<?, ?> consumer) Description copied from interface:GenericMessageListener
Invoked with data from kafka and provides access to theConsumer
. The default implementation throwsUnsupportedOperationException
.- Specified by:
onMessage
in interfaceAcknowledgingConsumerAwareMessageListener<K,
V> - Specified by:
onMessage
in interfaceGenericMessageListener<K>
- Parameters:
consumerRecord
- the data to be processed.acknowledgment
- the acknowledgment.consumer
- the consumer.
-
onMessage
Description copied from interface:AcknowledgingConsumerAwareMessageListener
Invoked with data from kafka. Containers should never call this since it they will detect that we are a consumer aware acknowledging listener.- Specified by:
onMessage
in interfaceAcknowledgingConsumerAwareMessageListener<K,
V> - Specified by:
onMessage
in interfaceGenericMessageListener<K>
- Parameters:
data
- the data to be processed.
-
onMessage
public void onMessage(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> data, Acknowledgment acknowledgment) Description copied from interface:GenericMessageListener
Invoked with data from kafka. The default implementation throwsUnsupportedOperationException
.- Specified by:
onMessage
in interfaceGenericMessageListener<K>
- Parameters:
data
- the data to be processed.acknowledgment
- the acknowledgment.
-
onMessage
public void onMessage(org.apache.kafka.clients.consumer.ConsumerRecord<K, V> data, org.apache.kafka.clients.consumer.Consumer<?, ?> consumer) Description copied from interface:GenericMessageListener
Invoked with data from kafka and provides access to theConsumer
. The default implementation throwsUnsupportedOperationException
.- Specified by:
onMessage
in interfaceGenericMessageListener<K>
- Parameters:
data
- the data to be processed.consumer
- the consumer.
-