Class KafkaConsumerBackoffManager
- java.lang.Object
-
- org.springframework.kafka.listener.KafkaConsumerBackoffManager
-
- All Implemented Interfaces:
java.util.EventListener,org.springframework.context.ApplicationListener<ListenerContainerPartitionIdleEvent>
public class KafkaConsumerBackoffManager extends java.lang.Object implements org.springframework.context.ApplicationListener<ListenerContainerPartitionIdleEvent>
A manager that backs off consumption for a given topic if the timestamp provided is not due. Use withSeekToCurrentErrorHandlerto guarantee that the message is read again after partition consumption is resumed (or seek it manually by other means).- Since:
- 2.7
- Author:
- Tomaz Fernandes
- See Also:
SeekToCurrentErrorHandler
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classKafkaConsumerBackoffManager.Context
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringINTERNAL_BACKOFF_CLOCK_BEAN_NAMEInternal Back Off Clock Bean Name.
-
Constructor Summary
Constructors Constructor Description KafkaConsumerBackoffManager(KafkaListenerEndpointRegistry registry, java.time.Clock clock)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidaddBackoff(KafkaConsumerBackoffManager.Context context, org.apache.kafka.common.TopicPartition topicPartition)KafkaConsumerBackoffManager.ContextcreateContext(long dueTimestamp, java.lang.String listenerId, org.apache.kafka.common.TopicPartition topicPartition)protected KafkaConsumerBackoffManager.ContextgetBackoff(org.apache.kafka.common.TopicPartition topicPartition)voidmaybeBackoff(KafkaConsumerBackoffManager.Context context)voidonApplicationEvent(ListenerContainerPartitionIdleEvent partitionIdleEvent)protected voidremoveBackoff(org.apache.kafka.common.TopicPartition topicPartition)
-
-
-
Field Detail
-
INTERNAL_BACKOFF_CLOCK_BEAN_NAME
public static final java.lang.String INTERNAL_BACKOFF_CLOCK_BEAN_NAME
Internal Back Off Clock Bean Name.- See Also:
- Constant Field Values
-
-
Constructor Detail
-
KafkaConsumerBackoffManager
public KafkaConsumerBackoffManager(KafkaListenerEndpointRegistry registry, @Qualifier("internalBackOffClock") java.time.Clock clock)
-
-
Method Detail
-
maybeBackoff
public void maybeBackoff(KafkaConsumerBackoffManager.Context context)
-
onApplicationEvent
public void onApplicationEvent(ListenerContainerPartitionIdleEvent partitionIdleEvent)
- Specified by:
onApplicationEventin interfaceorg.springframework.context.ApplicationListener<ListenerContainerPartitionIdleEvent>
-
addBackoff
protected void addBackoff(KafkaConsumerBackoffManager.Context context, org.apache.kafka.common.TopicPartition topicPartition)
-
getBackoff
protected KafkaConsumerBackoffManager.Context getBackoff(org.apache.kafka.common.TopicPartition topicPartition)
-
removeBackoff
protected void removeBackoff(org.apache.kafka.common.TopicPartition topicPartition)
-
createContext
public KafkaConsumerBackoffManager.Context createContext(long dueTimestamp, java.lang.String listenerId, org.apache.kafka.common.TopicPartition topicPartition)
-
-