2017-07-22 9 views
0

AmqpOutboundEndpointのインスタンスを使用して、スプリング統合を使用して最初のAMQPパブリッシャを作成しようとしています。春の統合 - AmqpOutboundEndpointとRabbitTemplateの違い

  1. 私はAmqpOutboundEndpointがRabbitTemplateのインスタンスを使用しているので、RabbitTemplateとAmqpOutboundEndPointの違いは何であるか理解していません。

  2. 私は は私がに応じてルーティングキーを切り替える必要がある場合、それは有効なメッセージを公開するAqmpOutboundEndPointを使用することです自分のアプリケーション(ビジネス・コンポーネントと統合コンポーネント)の2つの異なる成分を分離するためにAMQPゲートウェイを使用したいと思います公開されたメッセージタイプ?インターネットで見つかったすべての例では、AMQPゲートウェイのハードコーディングされたルーティングキーが使用されています。

それはAMQPを介してメッセージを送信するための優れた実装であるため、だから、Enterprise Integration Patterns

への歓迎のおかげ

答えて

0

さて、あなたは右であるすべての最初は、AmqpOutboundEndpointは本当に完全にRabbitTemplateに基づいています。

一方、エンドポイントは内部統合チャネル経由でメッセージを受信するチャネルアダプタです。

インテグレーションソリューション全体が本当に必要な場合や、独自のコードからAMQPに送信するだけで十分である場合は、自分で決定する必要があります。

このエンドポイントでは、実行時にSpELを使用してrequestMessageに対してroutingKeyを決定できます。問題の

参照ドキュメント:http://docs.spring.io/spring-integration/docs/4.3.11.RELEASE/reference/html/amqp.html#amqp-inbound-ack

+0

ゲートウェイを構築し、直接RabbitTemplateに注意することは利点がありますか?柔軟性や他の何か?あなたが言うように、プロデューサーと消費者は私のシステムです。これは内部統合です。 – Yoni

+0

Spring Integrationアプリケーションをビルドしないと、私は余分なコードを気にする必要はありません。ダイレクト 'RabbitTemplate'の使用法とゲートウェイ上での作業は、実際には異なるタスクと解決策です。プロジェクトにSpring Integrationが必要と思わない場合は、その違いと利点を理解する時間を無駄にしないでください –

関連する問題