卡夫卡:禁用从Java创建主题
将Kafka与Java库一起使用,我想禁用自动创建主题(如果它还不存在的话) 一些网站说我应该将auto.create.topics.enable设置为false,但这在Java中是无法识别的卡夫卡:禁用从Java创建主题,java,apache-kafka,kafka-topic,Java,Apache Kafka,Kafka Topic,将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. 目前,我将其
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管理它
这可能吗?这是代理级别的配置。您不能让用户通过java客户端程序来管理它 As
auto.create.topics.enable
属性是只读代理配置,需要重新启动kafka服务。因此,不可能从客户端处理它
您可以使用动态更新模式阅读此处的配置:Spring具有
Spring.cloud.stream.kafka.binder.autoCreateTopics
属性,该属性默认为true
,独立于代理属性auto.create.topics.enable
。我猜只有当您的代理配置允许客户端创建主题时,它才有效。阻止该权限可能比依靠客户端的行为更安全
由于它是一个代理级别的配置,您需要将其放入server.properties中才能正常工作