Interface ConsumerSeekAware

All Known Implementing Classes:
AbstractConsumerSeekAware, AbstractDelegatingMessageListenerAdapter, AbstractFilteringMessageListener, AbstractRetryingMessageListenerAdapter, AggregatingReplyingKafkaTemplate, BatchMessagingMessageListenerAdapter, FilteringBatchMessageListenerAdapter, FilteringMessageListenerAdapter, KafkaBackoffAwareMessageListenerAdapter, MessagingMessageListenerAdapter, RecordMessagingMessageListenerAdapter, ReplyingKafkaTemplate

public interface ConsumerSeekAware
Listeners that implement this interface are provided with a ConsumerSeekAware.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 
    A callback that a listener can invoke to seek to a specific offset.
  • Method Summary

    Modifier and Type
    Method
    Description
    default void
    When using manual partition assignment, called when the first poll has completed; useful when using auto.offset.reset=latest and you need to wait until the initial position has been established.
    default void
    onIdleContainer(Map<org.apache.kafka.common.TopicPartition,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(Map<org.apache.kafka.common.TopicPartition,Long> assignments, ConsumerSeekAware.ConsumerSeekCallback callback)
    When using group management, called when partition assignments change.
    default void
    onPartitionsRevoked(Collection<org.apache.kafka.common.TopicPartition> partitions)
    When using group management, called when partition assignments are revoked.
    default void
    Register the callback to use when seeking at some arbitrary time.
    default void
    Called when the listener consumer terminates allowing implementations to clean up state, such as thread locals.
  • Method Details

    • registerSeekCallback

      default void registerSeekCallback(ConsumerSeekAware.ConsumerSeekCallback callback)
      Register the callback to use when seeking at some arbitrary time. When used with a ConcurrentMessageListenerContainer or the same listener instance in multiple containers listeners should store the callback in a ThreadLocal or a map keyed by the thread.
      Parameters:
      callback - the callback.
    • onPartitionsAssigned

      default void onPartitionsAssigned(Map<org.apache.kafka.common.TopicPartition,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(Collection<org.apache.kafka.common.TopicPartition> partitions)
      When using group management, called when partition assignments are revoked. Listeners should discard any callback saved from registerSeekCallback(ConsumerSeekCallback) on this thread.
      Parameters:
      partitions - the partitions that have been revoked.
      Since:
      2.3
    • onIdleContainer

      default void onIdleContainer(Map<org.apache.kafka.common.TopicPartition,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.
    • onFirstPoll

      default void onFirstPoll()
      When using manual partition assignment, called when the first poll has completed; useful when using auto.offset.reset=latest and you need to wait until the initial position has been established.
      Since:
      2.8.8
    • unregisterSeekCallback

      default void unregisterSeekCallback()
      Called when the listener consumer terminates allowing implementations to clean up state, such as thread locals.
      Since:
      2.4