2017-11-07 7 views
3

Apache Camelの新機能で、さまざまなEIPを理解しようとしています。かなりの例を見ました。
EIPの両方の受信者に複数の受信者にメッセージを送信する必要がある場合、これらはヘッダーに設定されています。その後、彼らの違いは何ですか?RecipientlistとRouting Slipの相違点EIP

答えて

0


受信者リストEIP IS-主な違いは、同じメッセージが RECIPIENTLISTで指定された異なる経路に送信されます。
たとえば、メッセージはroute1、route2、route3に同時に送信されます。

Routing Slipメッセージが順次実行されるルートを指定します。
たとえば、メッセージはroute1に送信され、次に出力はroute2に送信され、出力はルート3に送信されます。
route1-> route2-> route3

Apache Camel Recipient List EIP
Apache Camel Routing Slip EIP

2

2つのパターンを完全に理解してみましょう。 EIPパターンから

  1. 受信者リストは動的に指定された受信者の数にメッセージをルーティングすることができます。 受信者は同じExchangeのコピーを受け取り、Camelはそれらを順番に実行します。 EIPパターンから
  2. ルーティングスリップができ、処理の一連のステップのシーケンスは設計時に知られておらず、各メッセージのために変化することができるの工程を経て連続的にルーティングするメッセージを可能にします。

言語の違いに注目してください。受信者リストは、すべて受信者がメッセージを受信する動的受信者に関するものです。ルーティングスリップは、メッセージがステップ間で潜在的に変更される可能性があるプロセスの動的ステップを決定するために使用されます。

また、どのレベルでそれを適用するかを考えるのに役立ちます。ルーティングは非常に粗いですが、受信者は一般的なケースではよりきめ細かです。あなたは2つを組み合わせることができます。

例えばこれらの仮定に基づいて発注システム、:

  1. すべての注文メッセージは、履行のための倉庫のルートに移動する必要があります。注文に花火が含まれている場合は、安全に運ぶことができるかどうかを確認するために安全部に行く必要があります。これは両方のルートがまったく同じメッセージを並行して受信するため、RecipientListの例です。

  2. フルフィルメントのために倉庫ルートに行くすべての注文メッセージ。注文が$ 2000以上の場合は割引を適用し、お客様の担当者に感謝状を送付するよう警告します。注文が5000ドル以上の場合は、割引を適用し、代理人に警告し、顧客に深いポケットを賞賛し、パートナーからゴールドカードを注文するSMSを送信します。これは経路伝票の例です

経路伝票の例では、同じ手順/プロセスを共有していますが、同じメッセージは共有していないことに注意してください。割引はメッセージに影響します。

だからこそ、細かいことです。

関連する問題