Class KafkaBackoffAwareMessageListenerAdapter<K,V>
- java.lang.Object
-
- org.springframework.kafka.listener.adapter.AbstractDelegatingMessageListenerAdapter<AcknowledgingConsumerAwareMessageListener<K,V>>
-
- org.springframework.kafka.listener.adapter.KafkaBackoffAwareMessageListenerAdapter<K,V>
-
- Type Parameters:
K
- the record key type.V
- the record value type.
- All Implemented Interfaces:
AcknowledgingConsumerAwareMessageListener<K,V>
,ConsumerSeekAware
,DelegatingMessageListener<AcknowledgingConsumerAwareMessageListener<K,V>>
,GenericMessageListener<org.apache.kafka.clients.consumer.ConsumerRecord<K,V>>
,MessageListener<K,V>
public class KafkaBackoffAwareMessageListenerAdapter<K,V> extends AbstractDelegatingMessageListenerAdapter<AcknowledgingConsumerAwareMessageListener<K,V>> implements AcknowledgingConsumerAwareMessageListener<K,V>
AnAcknowledgingConsumerAwareMessageListener
implementation that looks for a backoff timestamp header and passes to aKafkaConsumerBackoffManager
instance that will backoff if necessary.- Since:
- 2.7
- Author:
- Tomaz Fernandes
-
-
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
Constructors Constructor Description KafkaBackoffAwareMessageListenerAdapter(AcknowledgingConsumerAwareMessageListener<K,V> adapter, KafkaConsumerBackoffManager kafkaConsumerBackoffManager, java.lang.String listenerId)
KafkaBackoffAwareMessageListenerAdapter(AcknowledgingConsumerAwareMessageListener<K,V> delegate, KafkaConsumerBackoffManager kafkaConsumerBackoffManager, java.lang.String listenerId, java.lang.String backoffTimestampHeader)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
onMessage(org.apache.kafka.clients.consumer.ConsumerRecord<K,V> data)
Invoked with data from kafka.void
onMessage(org.apache.kafka.clients.consumer.ConsumerRecord<K,V> data, Acknowledgment ack, 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.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
unregisterSeekCallback
-
Methods inherited from interface org.springframework.kafka.listener.GenericMessageListener
onMessage, onMessage
-
-
-
-
Constructor Detail
-
KafkaBackoffAwareMessageListenerAdapter
public KafkaBackoffAwareMessageListenerAdapter(AcknowledgingConsumerAwareMessageListener<K,V> delegate, KafkaConsumerBackoffManager kafkaConsumerBackoffManager, java.lang.String listenerId, java.lang.String backoffTimestampHeader)
-
KafkaBackoffAwareMessageListenerAdapter
public KafkaBackoffAwareMessageListenerAdapter(AcknowledgingConsumerAwareMessageListener<K,V> adapter, KafkaConsumerBackoffManager kafkaConsumerBackoffManager, java.lang.String listenerId)
-
-
Method Detail
-
onMessage
public void onMessage(org.apache.kafka.clients.consumer.ConsumerRecord<K,V> data)
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 ack, org.apache.kafka.clients.consumer.Consumer<?,?> consumer) throws KafkaBackoffException
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:
data
- the data to be processed.ack
- the acknowledgment.consumer
- the consumer.- Throws:
KafkaBackoffException
-
-