[英]Reading from beginning (offset = 0) of topic with Spring Kafka / Spring Boot
如果我有 @KafkaListener 注釋,我如何在每次應用程序啟動時從頭開始閱讀主題?
一種方法是使用匿名組管理: @KafkaListener
沒有id()
和groupId()
。 如果idIsGroup() == true
(默認),當然。
而且你還需要使用一個@TopicPartition
就像這里解釋的那樣: https : @TopicPartition
從版本 2.5.5 開始,您可以對所有分配的分區應用初始偏移量:
topicPartitions = { @TopicPartition(topic = "topic1",
partitionOffsets = @PartitionOffset(partition = "*", initialOffset = "0"))
})
另一種方法是為您的@KafkaListener
類實現AbstractConsumerSeekAware
並在您獲得onPartitionsAssigned(Map<TopicPartition, Long> assignments, ConsumerSeekCallback callback)
分區時調用ConsumerSeekCallback.seekToBeginning()
onPartitionsAssigned(Map<TopicPartition, Long> assignments, ConsumerSeekCallback callback)
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.