1

スプリングブートアプリケーションをビルドしています。現在、Restコントローラは、複数のWebサービスを順次呼び出しています。すべてのパラレルWebサービスが完了するまでに呼び出してから、集約応答及びそれを返すのを待つ - 今、私たちは、並行して、これらの呼び出しを実行し、条件スプリングブートマルチスレッドアグリゲーションとその逆

  1. 集計以下のとおり応答を返す必要があります。

  2. 集計なし - 最初に完了したWebサービスコールと、進行中コールを放棄/キャンセル/中断した場合のいずれかの応答を返します。

私はいくつかの研究を行い、ExecutorServiceのを見つけましたが、私は春のブートに非常に新しいです、これはシナリオの両方の型に収まるかどうかわかりませんでした。

同じことを達成する方法があるかどうか教えてください。

+1

あなたはそれを自分で実装することができます。これは楽しいことです。しかし、それを手助けできるフレームワークがあります。例えば、https://github.com/Netflix/Hystrixやhttps://github.com/ReactiveX/RxJava – Redlab

+0

素晴らしい提案です! –

答えて

0

ExecutorServiceCallableExecutoServiceに提出し、Futureに戻ってください。

状況1を処理するには、すべての先物についてisDone()メソッドコールの論理AND戻り値を返し、状況#2を処理する必要があります。論理ORなどを行う必要があります。

ここに参考文献があります - Callable & Futureです。

私はSpring Bootに固有のことを示唆していませんが、Core Javaバックグラウンドからのものです。これにより、あなたはアプローチを洗練し、APIを切り替えることができます。

希望すると助かります!

関連する問題