我正在使用springcloudstarterstreamkafka-1.3.3和springcloudstreamwithspringboot连接到kafka,kafka包含了我希望enable.auto.commit为true的典型发布者-订阅者用例。
当服务启动时,我可以看到几个kafka属性(信息日志)被打印在列出所有应用属性的控制台上。我认为这个属性的值为false-enable.auto.commit=false,如下所示:
auto.commit.interval.ms = 100
enable.auto.commit = false
auto.offset.reset = earliest
check.crcs = true
client.id = consumer-2
connections.max.idle.ms = 540000
exclude.internal.topics = true
fetch.max.bytes = 52428800
fetch.max.wait.ms = 500
fetch.min.bytes = 1
group.id = conn-dr-group
heartbeat.interval.ms = 3000
我在spring doc上读到,如果我们不提供auto commit属性,默认情况下会设置为true-
https://docs.spring.io/autorepo/docs/spring-cloud-stream-binder-kafka-docs/1.1.0.m1/reference/htmlsingle/
但是,当我启动服务时,这个值看起来仍然是假的。
我尝试在application.properties中提供以下属性,但它仍然解析为false。
spring.cloud.stream.kafka.bindings.input.autocommitofset=true
有人知道我们怎样才能把它的价值变成现实吗?
1条答案
按热度按时间20jt8wwn1#
spring.cloud.stream.kafka.bindings.input.autocommitofset=true
那是另一种性质;它告诉绑定器在侦听器正常返回后提交偏移量。这比让客户机自己执行提交更具有确定性。
活页夹总是复位
enable.auto.commit
; 可以使用...binder.configuration
物业,但不建议。