gpt4 book ai didi

apache-kafka - 卡夫卡 - Spring : kafka consumer read a message from topic based on offset

转载 作者:行者123 更新时间:2023-12-05 07:45:46 25 4
gpt4 key购买 nike

有没有一种方法可以根据偏移量使用来自 Kafka 主题的消息。我的意思是我有一个我之前在主题中发布的偏移量 ID。现在我需要根据我传递的偏移量 Id 从主题中获取消息。

最佳答案

使用 Java Kafka Consumer Library,但是您还必须知道分区号。

KafkaConsumer<String, String> consumer = new KafkaConsumer<String, String (properties);
long desiredOffset = 10000;
TopicPartition partition = new TopicPartition("some-topic", 0);
consumer.assign(Arrays.asList(partition));
consumer.seek(partition, desiredOffset);
bool found= false;
while(found != true){
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
for(ConsumerRecord<String,String> record: records){
if(record.offset() == desiredOffset){
System.out.println(record)
found= true;
break;
}
}
}

consumer.close();

需要考虑的事情是,可以删除具有所需偏移量的记录,具体取决于 Kafka 主题中的清理策略配置。请记住 Kafka 是一个流平台。仅在调试时按偏移量读取消息。

关于apache-kafka - 卡夫卡 - Spring : kafka consumer read a message from topic based on offset,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41357682/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com