2017-08-02 5 views
1

複数の受信者にメッセージを送信し、受信者のうち1人以上が何かを返すかどうかにかかわらず、動的なタイムアウト値(つまり、各交換ごとに異なる値)の後にルートを続行する必要があります。 私は、ブランチの1つがタイマーであるマルチキャストでこれを実行できると思っていましたが、あるブランチが到着したときにマルチキャストに指示して、他のブランチを無視する方法を見つけることができませんでした。おそらく、私の場合の適切なEIPはマルチキャストなので、醜い解決策を考える前に、私は尋ねました。Camelマルチキャストでは、すべての受信者が返される前に終了する方法はありますか?

+0

[Multicast](http://camel.apache.org/multicast.html)にはすでに 'timeout'設定がありますので、何が欠けていますか? – Morfic

+0

これは動的ではありません。式に基づいて変更することはできません。 – Deroude

答えて

0

私は、Aggregatorが最初のデータを受信すると、次のプロデューサテンプレートを使用した経路。

+0

アグリゲータは解決策ですが、私の理解では、アグリゲータは完全にフローを変更します。私はいくつかの受信者(マルチキャストやrecipientListのような)に同じメッセージを送ってから、動的(交換ベース)の時間を待って、残りのメッセージを破棄します。アグリゲータでは、各受信者を別々のルートにする必要があります。 – Deroude

関連する問題