如何在Spring Kafka中禁用提交偏移量以在本地存储偏移量?

时间:2020-07-03 10:07:59

标签: apache-kafka spring-kafka

我要使用Spring Kafka将事件处理到本地数据库中,并将偏移量存储在数据库本身中,如https://kafka.apache.org/25/javadoc/index.html?org/apache/kafka/clients/consumer/KafkaConsumer.html下“在Kafka外部存储偏移”中所述。

Spring Kafka(带有KafkaListener)似乎总是提交偏移量(因此需要一个group.id),有没有一种方法可以完全禁用提交,从而允许在没有组的情况下进行监听?

2 个答案:

答案 0 :(得分:0)

Spring Kafka Consumer具有配置属性enable.auto.commit。可以将其设置为false,以便您可以在代码中实现提交策略。请在此处查看文档:{​​{3}}

KafkaListener批注可以直接定义配置。请参阅JavaDoc-https://docs.spring.io/spring-kafka/reference/html/#committing-offsets

答案 1 :(得分:0)

容器属性AckMode.MANUAL将禁用容器的偏移量提交。