欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

kafka调用seek方法后调用subscribe方法报错

程序员文章站 2022-07-15 12:21:31
...

在使用kafka的时候,需要自己手动设置offset,于是在subscribe后调用seek方法,程序直接抛出异常:No current assignment for partition。通过搜索引擎搜了下,很多说是由于同一个 groupID 在同一时刻多次消费同一个 topic,引发 offset 记录问题。但在这里很明显不是。

 

seek正确的调用姿势应该是在调用subscribe的时候,添加一个回调函数:

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

    @Override
    public void onPartitionsAssigned(Collection<TopicPartition> collection) {
        consumer.seek(collection, 100);// consumer.seek(new TopicPartition("topic", 0), 100);
    }
});

 

相关标签: 后端