簡體   English   中英

Kafka:禁用從 Java 創建主題

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM