Kafka 踩坑记录

1.Java Client Consumer 实现 "--from-beginning":

KafkaConsumer JavaDoc 的"Controlling The Consumer's Position"章节中提到,使用" seekToBeginning(Collection) " 可以实现"--from-beginning"的功能,但是却没有告诉我们,这个方法如何调用.如果在"subscribe"之后,立刻调用"seekToBeginning"会提示"No current assignment for partition". 正确的调用姿势应该是在调用"subscribe"时,填入第2个 ConsumerRebalanceListener listener", 该参数在subscribe成功后回调.如:

consumer.subscribe(Arrays.asList(topic), new ConsumerRebalanceListener() {
            @Override
            public void onPartitionsRevoked(Collection<TopicPartition> partitions) {

            }

            @Override
            public void onPartitionsAssigned(Collection<TopicPartition> partitions) {
                consumer.seekToBeginning(partitions);
            }
        });

上述代码即可实现"--from-beginning"功能.

发布了176 篇原创文章 · 获赞 152 · 访问量 115万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览