簡體   English   中英

Apache Camel - Kafka 生產者:動態設置主題名稱

[英]Apache Camel - Kafka producer: setting topic name dynamically

我有一個基於駱駝的應用程序(帶有 XML 描述的路由的 spring)。 我希望它能夠將輸入消息路由到未知數量的 kafka 主題(基於文件名模式和主題名之間的可配置匹配),因此我無法在 xml 文件中預先為每個模式創建一個生產者。

理想情況下,我們將能夠在消息 header 中設置主題,例如分區 id...

有人有建議嗎?

終於有可能了。 我指的是 kafka 消費者的錯誤來源。 在最近的版本中,它的行為與我希望的完全一樣。

topic = exchange.getIn().getHeader(KafkaConstants.TOPIC, topic, String.class);

因此,必須在消息中設置 KafkaCONstants.TOPIC 標頭才能動態選擇主題。

您可以在標題中使用 KafkaConstants.TOPIC 設置主題並讀取 kafka 組件中的值,例如 kafka:${headers[kafka.TOPIC]}(這是在 java dsl 中)來檢索主題並使用 toD uri 來構造 kafka uri動態的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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