怀疑你的enable-auto-commit没生效。
另外,earliest,生效都有一个前提条件,那就是对于同一个groupid的消费者,如果这个topic某个分区有已经提交的offset。那么无论是把auto.offset.reset=earliest还是latest,都是失效的,消费者会从已经提交的offset开始消费。
大神,有个问题,我把enable-auto-commit设置为false了。producer里面send消息,consumer是用了 @KafkaListener自动监听,有消息就消费,打印出来消息。auto-offset-reset设置为了earliest,也就是如果没有消息就从0开始消费。我先是send了几条消息,consumer监听到,消费了消息,控制台打印出来。然后我重启springboot,这个时候,消费者应该是从0开始消费,把我刚才send进去的消息再打印出来一遍,也就是重复消费才对,但是事实是控制台并没有打印之前的,没有重复消费,我这个时候send新的一条,也只是消费打印了新的一条消息。消息过期时间也是默认的7天,所以很迷惑,求大神指点下。
请教个问题大神。我找了个其他方法java操作生产者和消费者,是org.springframework.kafka的spring-kafka,是直接boot的配置文件里,配置好了kafka的集群,生产者和消费者,消费者组ID,offset等的一系列东西,然后生产者是用的KafkaTemplate,send。消费者直接用@KafkaListener。但是没有找到设置其他参数的地方。现在就是不太懂我用的这个,和你上面用的这个kafka-clients,有啥区别吗,用哪个好一些