kafka里面有两个参数
props.put("enable.auto.commit", "true");
props.put("auto.commit.interval.ms", "2000");
其中第二个参数是自动提交位移时间,很多文档讲的不清楚,把这个自动提交位移翻译成每隔 几秒自动提交一次,这个完全是错误的。
直接看pool的代码
里面看更新源信息的方法
看第一个方法
找到源码
把当前时间与上次提交的时间作比较,是否超过 设置的 提交间隔,如果超过的话,提交上次的位移。所以,如果不执行pool()方法,auto.commit根本不生效