spring-cloud-stream的手动消息确认

对于kafka-binder来说,设置autoCommitOffset为false.然后在listen中手动确认

@StreamListener(Sink.INPUT)
void listen(@Header(KafkaHeaders.ACKNOWLEDGMENT) Acknowledgment acknowledgment){
    //...业务代码
    acknowledgment.acknowledge();
}

需要注意的是autoCommitOffset的设置位置.

spring.cloud.stream.kafka.bindings.input.consumer.autoCommitOffset=false#应该在这里设置
spring.cloud.stream.bindings.input.consumer.autoCommitOffset=false#这里设置是无效的,获取Acknowledgment时会是null
发布了27 篇原创文章 · 获赞 6 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/l1161558158/article/details/104356254