2

以下のように、同期メッセージングにSpring AMQPを使用するコードがあります。私のシナリオは、プロデューサーが応答を期待しているメッセージを送信するときです。したがって、同期メッセージの場合に応答を返す方法について、誰でも助けることができます。

Producer end - rabbitTemplate.convertAndSend(object);
Consumer end - rabbitTemplate.receiveAndconvert();

handleMessage()非同期メッセージングの場合に使用できることがわかりました。しかし、上記の API を使用して、同期メッセージングの場合に応答を返す方法は? これについて私を助けてもらえますか?

前もって感謝します。

4

2 に答える 2

3

これを使ってみてはどうconvertSendAndReceiveですか?この場合、RabbitTemplateは synchronius 送信要求を処理し、応答を受信します。試してみて、私たちに知らせてください

于 2013-12-03T08:07:18.780 に答える
2

オプションについては、リファレンス ドキュメントを参照してください。

convertSendAndReceiveプロデューサー側では、ヘッダーが追加されますreplyTo(デフォルトは新しい一時キューですが、固定の応答キューを構成できます)。

コンシューマ側では、メッセージ リスナ コンテナを使用するのが最も簡単な解決策です。コンテナはMessageListenerAdapter単純な POJO を呼び出して、返信を送信します。

コンシューマ側でウサギ テンプレートを使用する必要がある場合はreceive、メッセージ プロパティにアクセスするために下位レベルを使用する必要があります。これreplyToにより、返信を送信するために情報にアクセスできます。

のソース コードをMessageListenerAdapter見て、彼がどのようにそれを行っているかを確認してください。

于 2013-12-03T14:24:25.987 に答える