Interface ConsumerSeekAware
-
- All Known Implementing Classes:
AbstractConsumerSeekAware
,AbstractDelegatingMessageListenerAdapter
,AbstractFilteringMessageListener
,AbstractRetryingMessageListenerAdapter
,BatchMessagingMessageListenerAdapter
,FilteringBatchMessageListenerAdapter
,FilteringMessageListenerAdapter
,KafkaBackoffAwareMessageListenerAdapter
,MessagingMessageListenerAdapter
,RecordMessagingMessageListenerAdapter
,RetryingMessageListenerAdapter
public interface ConsumerSeekAware
Listeners that implement this interface are provided with aConsumerSeekAware.ConsumerSeekCallback
which can be used to perform a seek operation.- Since:
- 1.1
- Author:
- Gary Russell
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ConsumerSeekAware.ConsumerSeekCallback
A callback that a listener can invoke to seek to a specific offset.
-
Method Summary
All Methods Instance Methods Default Methods Modifier and Type Method Description default void
onIdleContainer(java.util.Map<org.apache.kafka.common.TopicPartition,java.lang.Long> assignments, ConsumerSeekAware.ConsumerSeekCallback callback)
If the container is configured to emit idle container events, this method is called when the container idle event is emitted - allowing a seek operation.default void
onPartitionsAssigned(java.util.Map<org.apache.kafka.common.TopicPartition,java.lang.Long> assignments, ConsumerSeekAware.ConsumerSeekCallback callback)
When using group management, called when partition assignments change.default void
onPartitionsRevoked(java.util.Collection<org.apache.kafka.common.TopicPartition> partitions)
When using group management, called when partition assignments are revoked.default void
registerSeekCallback(ConsumerSeekAware.ConsumerSeekCallback callback)
Register the callback to use when seeking at some arbitrary time.default void
unregisterSeekCallback()
Called when the listener consumer terminates allowing implementations to clean up state, such as thread locals.
-
-
-
Method Detail
-
registerSeekCallback
default void registerSeekCallback(ConsumerSeekAware.ConsumerSeekCallback callback)
Register the callback to use when seeking at some arbitrary time. When used with aConcurrentMessageListenerContainer
or the same listener instance in multiple containers listeners should store the callback in aThreadLocal
.- Parameters:
callback
- the callback.
-
onPartitionsAssigned
default void onPartitionsAssigned(java.util.Map<org.apache.kafka.common.TopicPartition,java.lang.Long> assignments, ConsumerSeekAware.ConsumerSeekCallback callback)
When using group management, called when partition assignments change.- Parameters:
assignments
- the new assignments and their current offsets.callback
- the callback to perform an initial seek after assignment.
-
onPartitionsRevoked
default void onPartitionsRevoked(java.util.Collection<org.apache.kafka.common.TopicPartition> partitions)
When using group management, called when partition assignments are revoked. Listeners should discard any callback saved fromregisterSeekCallback(ConsumerSeekCallback)
on this thread.- Parameters:
partitions
- the partitions that have been revoked.- Since:
- 2.3
-
onIdleContainer
default void onIdleContainer(java.util.Map<org.apache.kafka.common.TopicPartition,java.lang.Long> assignments, ConsumerSeekAware.ConsumerSeekCallback callback)
If the container is configured to emit idle container events, this method is called when the container idle event is emitted - allowing a seek operation.- Parameters:
assignments
- the new assignments and their current offsets.callback
- the callback to perform a seek.
-
unregisterSeekCallback
default void unregisterSeekCallback()
Called when the listener consumer terminates allowing implementations to clean up state, such as thread locals.- Since:
- 2.4
-
-