使用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管理它。
这可能吗?
2条答案
按热度按时间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
vlju58qv2#
它是代理级别的配置。您不能让用户从java客户机程序管理这个。
作为
auto.create.topics.enable
属性是只读代理配置,这需要重新启动kafka服务。因此,不可能从客户端处理它。您可以使用动态更新模式阅读此处的配置:https://kafka.apache.org/documentation/#brokerconfigs