[英]Kafka: disable create topic from Java
使用帶有 Java 庫的 Kafka,我想禁用主題的自動創建(如果它不存在)。
有些網站說我應該把 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 管理它。
這可能嗎?
這是經紀人級別的配置。 您不能讓用戶從 Java 客戶端程序管理它。
由於auto.create.topics.enable
屬性是只讀的 broker 配置,需要重啟 kafka 服務。 因此不可能從客戶端處理它。
您可以使用動態更新模式在此處閱讀配置: https : //kafka.apache.org/documentation/#brokerconfigs
Spring 具有spring.cloud.stream.kafka.binder.autoCreateTopics
屬性,該屬性默認為true
並且獨立於 Broker 屬性auto.create.topics.enable
。 我猜它只有在您的 Broker 配置允許客戶端創建主題時才有效。 阻止該權限可能比依賴客戶端的行為更安全。
https://cloud.spring.io/spring-cloud-stream-binder-kafka/spring-cloud-stream-binder-kafka.html
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.