码迷,mamicode.com
首页 > 其他好文 > 详细

kafka 重放 重播 从某个时间点或者offset开始消费

时间:2019-10-12 10:56:13      阅读:435      评论:0      收藏:0      [点我收藏+]

标签:构造   art   时间   sig   int   code   shu   out   time   

转自: https://www.jianshu.com/p/932663e9a226

 

consumer.subscribe(topicA);
consumer.poll(100);//正常订阅topic和poll消息

Set<TopicPartition> assignments = consumer.assignment();//获取consumer所分配的分区信息
Map<TopicPartition, Long> query = new HashMap<>();//构造offsetsForTimes参数,通过时间戳找到offset
for (TopicPartition topicPartition : assignments) {
    System.out.println(topicPartition);
    query.put(topicPartition, 1550804131000L);
}
Map<TopicPartition, OffsetAndTimestamp> result = consumer.offsetsForTimes(query);
for (Map.Entry<TopicPartition, OffsetAndTimestamp> entry : result.entrySet()) {
    System.out.println(entry);
    consumer.seek(entry.getKey(), entry.getValue().offset());//每个topic的partition都seek到执行的offset
}
  

 

kafka 重放 重播 从某个时间点或者offset开始消费

标签:构造   art   时间   sig   int   code   shu   out   time   

原文地址:https://www.cnblogs.com/leon0/p/11658807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!