アグリゲーターに到着する2種類のメッセージ(AとB)があります。到着する最初のAと到着する最初のBを集約するにはどうすればよいですか?
1 に答える
EIPブックまたはCamelinActionブックを入手した場合は、アグリゲーターEIPに関する理論を読んでください。それはあなたに多くを教えてくれるでしょう。集約EIPは最も複雑なEIPの1つであるため、パターンの調査に少し時間を費やす価値があります。
一言で言えば、集約EIPが2つのメッセージと一致するように、AとBを相互に関連付け、それらを集約する必要があります。
したがって、この相関関係が式としてどのように機能するかを実装する必要があります。Camelでは、たとえばメソッド呼び出し式を使用してこれを実装します。これにより、メソッド呼び出しでJavaコードを使用してこれを判別できます。
メソッドの結果は、相関グループ識別子を指示する文字列になるはずです。次に、最初のAメッセージと最初のBメッセージは同じ相関グループ識別子を持つ必要があります。たとえば、マッチメッセージをグループに分けます。
EIPをもう少し調べてから、その相関ロジックをどのように記述できるかを考えることをお勧めします。次に、それをJavaコードで実装し、Camelアグリゲーターでメソッド呼び出し式を使用できます。
また、2番目のA、3番目のA、2番目のB、および3番目のBメッセージはどうなりますか?それらはどのように相関させる必要がありますか?
のようにすべき
1A + 1B
2A + 2B
3A + 3B
そして、メッセージは、次のような集約EIPパターンに任意の順序で到着できます。
1B
2B
1A
3B
2A
3A
そして、アグリゲーターの結果は、1A + 1Bで上記のようになります...?