0

inbound-gateway を使用して SOAP Web サービスを使用しています。メッセージを kafka トピックに配置し、Spring 統合の宣言的な方法を使用してリクエスタに同期確認を返す必要があります。これは可能ですか?

    public Acknowledgement process(@RequestPayload MessagePayload payload) {
    // perform validation & logic
    // need to send message to kafka topic using declarative way

    // sending synchronous ack to request originator
    return new Acknowledgement(); 
    }
4

1 に答える 1

0

XML を使用する場合に Java 構成を使用する場合、kafka 送信チャネル アダプターにはsyncプロパティがあります。setSync(true)sync="true"

呼び出し元のスレッド (Web コンテナー) は、kafka が責任を負うまでブロックされます。パブリッシュ/サブスクライブ チャネルを使用する場合は、kafka アダプターを最初のコンシューマーにし、サービスを構築しAcknowledgementて 2 番目のコンシューマーにします (コンシューマーでプロパティを使用して、order適切な順序を確保します)。

KafkaTemplateまたは、コントローラーから直接使用することもできます。

于 2017-01-05T23:25:02.963 に答える