0

Spring Integration で以下のフローを実装しようとしています。以下は私の要件です。

  1. 開始点である非同期ゲートウェイは、検索のリクエストを受け取り、Future を返します
  2. ゲートウェイは複数のチャネルにリクエストを送信して検索を実行します
  3. 各チャネルは、検索文字列を使用して HTTP ベースの Web サイトに接続します
  4. Aggregator は、ステップ 3 出力のすべてのチャネルから outputchannel への結果を受け取ります

ステップ 3 とステップ 4 を達成する方法がわかりません。または、春の統合でこれを行うより良い方法があります。基本的に、検索文字列を使用して複数のサイトに連絡し、集計結果を生成する必要があります。

4

1 に答える 1

1
gateway->publish-subscribe-channel(apply-sequence=true)->http-outbound-gateway(s)->aggregator

http 呼び出しを同時に実行する場合は、task-executor を publish-subscribe-channel に追加します。そうすれば、各 http 呼び出しは個別のスレッドで実行されます (タスク エグゼキューターが十分なスレッドで構成されている限り)。

呼び出しを連続して行う場合は、タスク エグゼキューターをオフのままにします。

集計された結果を返す前に何かをしたい場合を除き、アグリゲーターの出力チャネルをそのままにしておくと、フレームワークは集計された応答をゲートウェイ (Future) に送信します。ゲートウェイに default-reply-channel は必要ありません。

于 2012-04-16T14:30:27.283 に答える