Class TopicPartitionOffset
java.lang.Object
org.springframework.kafka.support.TopicPartitionOffset
A configuration container to represent a topic name, partition number and, optionally,
an offset for it. The offset can be:
null- do nothing;- positive (including
0) - seek to EITHER the absolute offset within the partition or an offset relative to the current position for this consumer, depending onisRelativeToCurrent(). - negative - seek to EITHER the offset relative to the current last offset within
the partition:
consumer.seekToEnd() + initialOffsetOR the relative to the current offset for this consumer (if any), depending onisRelativeToCurrent().
start()ed.
This class is used when manually assigning partitions and for deferred seek operations.- Since:
- 2.3
- Author:
- Artem Bilan, Gary Russell, Soby Chacko
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumEnumeration for "special" seeks. -
Constructor Summary
ConstructorsConstructorDescriptionTopicPartitionOffset(String topic, int partition) Construct an instance with no initial offset management.TopicPartitionOffset(String topic, int partition, Long offset) Construct an instance with the provided initial offset withisRelativeToCurrent()false.TopicPartitionOffset(String topic, int partition, Long offset, boolean relativeToCurrent) Construct an instance with the provided initial offset.TopicPartitionOffset(String topic, int partition, Long offset, TopicPartitionOffset.SeekPosition position) Construct an instance with the providedTopicPartitionOffset.SeekPosition.TopicPartitionOffset(String topic, int partition, Function<Long, Long> offsetComputeFunction) Construct an instance with the provided function to compute the offset.TopicPartitionOffset(String topic, int partition, TopicPartitionOffset.SeekPosition position) Construct an instance with the providedTopicPartitionOffset.SeekPosition.TopicPartitionOffset(org.apache.kafka.common.TopicPartition topicPartition, Long offset, TopicPartitionOffset.SeekPosition position) Construct an instance with the providedTopicPartitionOffset.SeekPosition. -
Method Summary
Modifier and TypeMethodDescriptionbooleanintgetTopic()org.apache.kafka.common.TopicPartitioninthashCode()booleanvoidSet the offset.voidsetRelativeToCurrent(boolean relativeToCurrent) Set whether the offset is relative to the current position.toString()
-
Constructor Details
-
TopicPartitionOffset
Construct an instance with no initial offset management.- Parameters:
topic- the topic.partition- the partition.
-
TopicPartitionOffset
Construct an instance with the provided initial offset withisRelativeToCurrent()false.- Parameters:
topic- the topic.partition- the partition.offset- the offset.- See Also:
-
TopicPartitionOffset
Construct an instance with the provided function to compute the offset.- Parameters:
topic- the topic.partition- the partition.offsetComputeFunction- function to compute the offset.- Since:
- 3.2.0
-
TopicPartitionOffset
Construct an instance with the provided initial offset.- Parameters:
topic- the topic.partition- the partition.offset- the initial offset.relativeToCurrent- true for the initial offset to be relative to the current consumer position, false for a positive initial offset to be absolute and a negative offset relative to the current end of the partition.
-
TopicPartitionOffset
public TopicPartitionOffset(String topic, int partition, TopicPartitionOffset.SeekPosition position) Construct an instance with the providedTopicPartitionOffset.SeekPosition.- Parameters:
topic- the topic.partition- the partition.position-TopicPartitionOffset.SeekPosition.
-
TopicPartitionOffset
public TopicPartitionOffset(String topic, int partition, Long offset, @Nullable TopicPartitionOffset.SeekPosition position) Construct an instance with the providedTopicPartitionOffset.SeekPosition.- Parameters:
topic- the topic.partition- the partition.offset- the offset from the seek position (or timestamp forTopicPartitionOffset.SeekPosition.TIMESTAMP).position-TopicPartitionOffset.SeekPosition.- Since:
- 2.3
-
TopicPartitionOffset
public TopicPartitionOffset(org.apache.kafka.common.TopicPartition topicPartition, Long offset, @Nullable TopicPartitionOffset.SeekPosition position) Construct an instance with the providedTopicPartitionOffset.SeekPosition.- Parameters:
topicPartition- the topic/partition.offset- the offset from the seek position (or timestamp forTopicPartitionOffset.SeekPosition.TIMESTAMP).position-TopicPartitionOffset.SeekPosition.- Since:
- 2.3
-
-
Method Details
-
getTopicPartition
public org.apache.kafka.common.TopicPartition getTopicPartition() -
getPartition
public int getPartition() -
getTopic
-
getOffset
-
setOffset
Set the offset.- Parameters:
offset- the offset.- Since:
- 2.5.5
-
isRelativeToCurrent
public boolean isRelativeToCurrent() -
setRelativeToCurrent
public void setRelativeToCurrent(boolean relativeToCurrent) Set whether the offset is relative to the current position.- Parameters:
relativeToCurrent- true for relative to current.- Since:
- 2.5.5
-
getPosition
-
getOffsetComputeFunction
-
equals
-
hashCode
public int hashCode() -
toString
-