Class OffsetAndMetadata

java.lang.Object
org.apache.kafka.clients.consumer.OffsetAndMetadata
All Implemented Interfaces:
Serializable

public class OffsetAndMetadata
extends Object
implements Serializable
The Kafka offset commit API allows users to provide additional metadata (in the form of a string) when an offset is committed. This can be useful (for example) to store information about which node made the commit, what time the commit was made, etc.
See Also:
Serialized Form
  • Constructor Details

    • OffsetAndMetadata

      public OffsetAndMetadata​(long offset, Optional<Integer> leaderEpoch, String metadata)
      Construct a new OffsetAndMetadata object for committing through KafkaConsumer.
      Parameters:
      offset - The offset to be committed
      leaderEpoch - Optional leader epoch of the last consumed record
      metadata - Non-null metadata
    • OffsetAndMetadata

      public OffsetAndMetadata​(long offset, String metadata)
      Construct a new OffsetAndMetadata object for committing through KafkaConsumer.
      Parameters:
      offset - The offset to be committed
      metadata - Non-null metadata
    • OffsetAndMetadata

      public OffsetAndMetadata​(long offset)
      Construct a new OffsetAndMetadata object for committing through KafkaConsumer. The metadata associated with the commit will be empty.
      Parameters:
      offset - The offset to be committed
  • Method Details

    • offset

      public long offset()
    • metadata

      public String metadata()
    • leaderEpoch

      public Optional<Integer> leaderEpoch()
      Get the leader epoch of the previously consumed record (if one is known). Log truncation is detected if there exists a leader epoch which is larger than this epoch and begins at an offset earlier than the committed offset.
      Returns:
      the leader epoch or empty if not known
    • equals

      public boolean equals​(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object