Flex Gateway新着情報
Governance新着情報
Monitoring API Manager要求と応答はアプリケーション間で非常に一般的なパターンです。そのため、AMQP Connector には publish-consume
と呼ばれる専用の操作が用意されています。publish-consume
操作により、メッセージを任意のエクスチェンジにパブリッシュし、別の宛先で応答を待機することができます。
この操作を使用する場合、送信メッセージの replyTo
プロパティにはアプリケーションが応答を待機するキューの ID が含まれます。この宛先は、既知の宛先である場合も、ある単独の応答メッセージを受け取るためだけに一時的に作成されるキューである場合もあります。
最後に、操作の結果としてメッセージが応答として受信され、consume
操作を呼び出した場合とまったく同じ構造になります。
一時的なキューを使用して応答を待機するのは非常にシンプルであり、送信されるメッセージを設定するだけで、この操作によって一時的なキューの応答が自動的に待機されます。
<amqp:publish-consume
config-ref="config"
exchangeName="targetExchange"
maximumWait="20"
maximumWaitUnit="SECONDS"/>
この例では、この操作によって現在の payload
を本文および一時的な宛先に対して設定されたメッセージの replyTo プロパティとするメッセージが targetExchange
に publish
されます。
続いて、メッセージがコンシュームされるか maximumWait
に達するまで (この場合、AMQP:TIMEOUT
エラーが発生して失敗する)、自動的に一時的なキューからの応答をコンシュームしようと試みます。
多くの場合、要求前の時点でキューを返信する必要はありませんが、代わりによく知られたキューが返信に使用されます。この場合、自分で実行するのは、送信メッセージで reply-to
パラメーターを設定することだけです。
<amqp:publish-consume config-ref="config" exchangeName="targetExchange">
<amqp:message>
<amqp:properties reply-to="replyToQueue" />
</amqp:message>
</amqp:publish-consume>
これで、この操作によって現在の payload
を本文および replyTo
を使用して設定された replyToQueue
プロパティとするメッセージが targetExchange
に publish
されるようになりました。
続いて、メッセージがコンシュームされるか maximumWait
に達するまで (この場合、AMQP:TIMEOUT
エラーが発生して失敗する)、自動的に replyToQueue
キューからの応答をコンシュームしようと試みます。