奇怪设置了enable.auto.commit=false不生效?!

测试手动消费kafka消息时,给kafka消费者设置了enable.auto.commit=false ,没有commit offset ,但每次消费获取的却是最新的offset数据?!

properties.put("enable.auto.commit", "false");

最后发现因为我在测试的过程中,还没做过一次提交 !!!

当提交模式设置为手动提交,因为还没做过提交,所以kafka上没有offset值, 所以依据属性 auto.offset.reset ,默认值 latest,它会让消费者从最后的offset开始消费;

 后面我提交一次以后,程序就会按照预想的情况从没有commit 的offset处继续工作了。

参考1

参考2

原文地址:https://www.cnblogs.com/mylittlecabin/p/14989959.html