auto.offset.reset配置项参数的作用
props.put(ConsumerConfig.GROUP_ID_CONFIG,groupId);//消费组id
props.put(ConsumerConfig.AUTO_OFFSET_RESET_CONFIG, "earliest");//latest,earliest
props.put(ConsumerConfig.ENABLE_AUTO_COMMIT_CONFIG,false);
在auto.offset.reset标志位为earliest/或者latest,创建的第一个消费者都将在enable.auto.commit的基础之上进行继续消费(如果enable.auto.commit=TRUE,则同一个消费者重启之后不会重复消费之前消费过的消息;enable.auto.commit=FALSE,则消费者重启之后会消费到相同的消息)
auto.offset.reset是对新的消费者而言(不同的groupId对应着不同的消费者)
在auto.offset.reset=earliest情况下,新的消费者(消费者二)将会从头开始消费Topic下的消息,即从offset=0的位置开始消费。
在auto.offset.reset=latest情况下,新的消费者将会从其他消费者最后消费的offset处开始消费Topic下的消息,比如上一个消费者提交的offset是40,则另一个消费组会开始从offset为40的位置开始消费。