問題タブ [spring-reactor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - ネストされたサブスクリプションなしで、異なるデータ型を含む複数の Mono/Flux を結合/チェーンする方法
project-reactor を使用して、外部 Web サービスからいくつかのデータを取得し、結果のオブジェクトを生成します。
最初に、次の Web サービス呼び出しをトリガーするために必要なマスターデータを取得する必要があります。マスターデータが利用可能になったら、マスターデータの結果に基づいてさらにデータを取得します。次に、すべてのモノがその結果を発行するのを待つ必要があります。次に、すべてのデータを処理し、結果のオブジェクトを構築します。
リアクティブストリームの経験はあまりありません。ネストされたサブスクリプションを使用したソリューションは機能しますが、やりたいことをアーカイブするためのより良い方法があるかもしれないと信じています.
質問1
Masterdata_A と Masterdata_B は並行して取得できますが、ネスティングせずにリアクティブな方法でこれを表現するにはどうすればよいでしょうか? getFluxMasterdata_B の各結果は、getMonoMasterdata_A の 1 つの結果と組み合わせる必要があります。
質問2
両方の部品を持つ Tupel は、多くのデータ要求で Web サービスを圧倒しないように、何らかの方法で制限する必要があります。実際の 1 秒の遅延は推測にすぎませんが、最初の内部 flatMap の並列実行の最大数を定義して、一度に最大 N 個の Web サービス呼び出しを待機させることをお勧めします。
質問 3
将来的には、ProcessingResult を構築するために Web サービスからフェッチしなければならないデータがさらに存在する可能性があります。リアクティブストリームを定義して読みやすく/理解しやすくするベストプラクティスはありますか? リアクティブ ストリームのネストは問題ありませんか、それとも避けるべきですか (すべてをトップ レベルに維持します)。
ドメインモデル
WebserviceImpl
BusinessServiceImpl