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() + initialOffset
OR 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
Modifier and TypeClassDescriptionstatic enum
Enumeration for "special" seeks. -
Constructor Summary
ConstructorDescriptionTopicPartitionOffset
(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 TypeMethodDescriptionboolean
int
getTopic()
org.apache.kafka.common.TopicPartition
int
hashCode()
boolean
void
Set the offset.void
setRelativeToCurrent
(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
-