猿问

Kafka:禁用从 Java 创建主题

将 Kafka 与 Java lib 一起使用,我想禁用主题的自动创建(如果它尚不存在)。

有些网站说我应该把 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 管理它。

这可能吗?


ibeautiful
浏览 298回答 2
2回答

暮色呼如

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

慕无忌1623718

Spring 具有spring.cloud.stream.kafka.binder.autoCreateTopics默认为trueBroker 属性并独立工作的属性auto.create.topics.enable。我猜它只有在您的代理配置允许客户端创建主题时才有效。阻止该权限可能比依赖客户行为更安全。https://cloud.spring.io/spring-cloud-stream-binder-kafka/spring-cloud-stream-binder-kafka.html
随时随地看视频慕课网APP

相关分类

Java
我要回答