kafka:禁用从java创建主题

o4hqfura  于 2021-06-04  发布在  Kafka
关注(0)|答案(2)|浏览(581)

使用kafka和java库,我想禁用自动创建主题(如果它还不存在的话)。
有些网站说我应该将auto.create.topics.enable设置为false,但这在java中是无法识别的。

15:11:56.962 [main] WARN  o.a.k.c.consumer.ConsumerConfig -  The configuration 'auto.create.topics.enable' was supplied but isn't a known config.

目前,我将其作为环境变量放入docker compose中:

KAFKA_AUTO_CREATE_TOPICS_ENABLE: 'false'

这是可行的,但我想通过用户从java管理它。
这可能吗?

ykejflvf

ykejflvf1#

Spring有Spring spring.cloud.stream.kafka.binder.autoCreateTopics 默认为的属性 true 独立于经纪人财产工作 auto.create.topics.enable . 我猜只有当你的代理配置允许客户端创建主题时,它才有效。阻止这种许可可能比依赖客户的行为更安全。
https://cloud.spring.io/spring-cloud-stream-binder-kafka/spring-cloud-stream-binder-kafka.html

vlju58qv

vlju58qv2#

它是代理级别的配置。您不能让用户从java客户机程序管理这个。
作为 auto.create.topics.enable 属性是只读代理配置,这需要重新启动kafka服务。因此,不可能从客户端处理它。
您可以使用动态更新模式阅读此处的配置:https://kafka.apache.org/documentation/#brokerconfigs

相关问题