KafkaListener ConsumerConfig AUTO_OFFSET_RESET_DOC 最早用于多个监听器
KafkaListener ConsumerConfig AUTO_OFFSET_RESET_DOC earliest for multiple listeners
我的 spring 启动应用程序中有 3 个侦听器。只有一个听众应该从头开始阅读主题。如果我添加到 yml 文件: spring.kafka.consumer.auto-offset-reset: earliest
那么它适用于所有听众,但我只需要一个。我添加了:
import static org.apache.kafka.clients.consumer.ConsumerConfig.AUTO_OFFSET_RESET_DOC;
......
@KafkaListener(groupId = "${random.uuid}",
properties = {AUTO_OFFSET_RESET_DOC + ":earliest"})
但它没有用,设置没有被拾取,因为我在启动时看到打印的设置:
ConsumerConfig values:
auto.commit.interval.ms = 5000
auto.offset.reset = latest
知道怎么做吗?
您提供的配置错误,应该是 AUTO_OFFSET_RESET_CONFIG
而不是 AUTO_OFFSET_RESET_DOC
@KafkaListener(groupId = "${random.uuid}",
properties = {AUTO_OFFSET_RESET_CONFIG + ":earliest"})
或者您可以直接指定 属性
@KafkaListener(groupId = "${random.uuid}",
properties = {"auto.offset.reset = earliest"})
在文档 @KafkaListener 注释中有一个名为 properties
的字段,它接受字符串数组
Kafka consumer properties; they will supersede any properties with the same name defined in the consumer factory (if the consumer factory supports property overrides).
支持的语法
The supported syntax for key-value pairs is the same as the syntax defined for entries in a Java properties file:
key=value
key:value
key value
group.id and client.id are ignored.
我的 spring 启动应用程序中有 3 个侦听器。只有一个听众应该从头开始阅读主题。如果我添加到 yml 文件: spring.kafka.consumer.auto-offset-reset: earliest
那么它适用于所有听众,但我只需要一个。我添加了:
import static org.apache.kafka.clients.consumer.ConsumerConfig.AUTO_OFFSET_RESET_DOC;
......
@KafkaListener(groupId = "${random.uuid}",
properties = {AUTO_OFFSET_RESET_DOC + ":earliest"})
但它没有用,设置没有被拾取,因为我在启动时看到打印的设置:
ConsumerConfig values:
auto.commit.interval.ms = 5000
auto.offset.reset = latest
知道怎么做吗?
您提供的配置错误,应该是 AUTO_OFFSET_RESET_CONFIG
而不是 AUTO_OFFSET_RESET_DOC
@KafkaListener(groupId = "${random.uuid}",
properties = {AUTO_OFFSET_RESET_CONFIG + ":earliest"})
或者您可以直接指定 属性
@KafkaListener(groupId = "${random.uuid}",
properties = {"auto.offset.reset = earliest"})
在文档 @KafkaListener 注释中有一个名为 properties
的字段,它接受字符串数组
Kafka consumer properties; they will supersede any properties with the same name defined in the consumer factory (if the consumer factory supports property overrides).
支持的语法
The supported syntax for key-value pairs is the same as the syntax defined for entries in a Java properties file:
key=value
key:value
key value
group.id and client.id are ignored.