要件は、我々はここでそれを達成することができ、サーバ .Howを再起動せずにトピックランタイムで以下の属性を設定することです。 現在、プロパティファイルから値を読み取っていますが、ここでは変更を反映するためにサーバーを再起動する必要があります。は、実行時にカフカの消費者のトピックに動的な値を渡すメッセージ駆動チャネルアダプタ用
例: sample.properties = topic1
topic.list、topic2
(展開ディレクトリ内)と、サーバの再起動なしで、将来的にtopic3から消費したいと思います。
注:トピックが最終変数であることがわかります。
は、ファイルシステムパス(デプロイメントディレクトリの外側)からキー(topic.list)を読み取ろうとしましたが、運がうまくいきませんでした。
提案があります。
あなたが動的にオンデマンドで追加トピック用のアダプタを追加するには、Java DSLを使用することができます<int-kafka:message-driven-channel-adapter
id="inAdapter"
channel="fromKafka"
connection-factory="connectionFactory"
key-decoder="kafkaKeyDecoder"
payload-decoder="kafkaDecoder"
topics="${topic.list}"
offset-manager="offsetManager"/>
どのくらいの頻度でトピックを変更しますか?しかし、ちょっとしたことがありますが(外部の介入も必要です)(アクションを引き起こすためのAPIコールになる可能性があります) – iamiddy
非常に頻繁です。しかし、それは必須条件ですフレキシビリティを持たせることが大切です。この方向に私を導いてください。 – sam
この概念をここで理解しようとすると、https://github.com/spring-projects/spring-integration-samples/tree/master/advanced/dynamic-ftp次に、あなたのユースケースに合わせて簡単にカスタマイズすることができます。あなたはフォローアップをしていますか? – iamiddy