0
私はJava Reactor Coreを使用していますが、私はオブジェクトのFlux
を反応させています。 Fluxのオブジェクトごとに、入力ごとに異なるオブジェクトを返す外部クエリを実行する必要があります。新しく生成されたFlux
は元のものと一緒に圧縮されている必要があります。したがって、2つのFluxのアイテムは同じ順序で同期され、生成されなければなりません。Zipリアクションフロー自体
私はちょうどこのように、二度同じフローを再使用しています:
Flux<MyObj> aTest = Flux.fromIterable(aListOfObj);
Flux<String> myObjLists = aTest.map(o -> MyRepository.findById(o.name)).map(o -> {
if (!o.isPresent()) {
System.out.println("Fallback to empty-object");
return "";
}
List<String> l = o.get();
if (l.size() > 1) {
System.out.println("that's bad");
}
return l.get(0);
});
Flux.zip(aTest, myObjLists, (a, b) -> doSomethingWith(a,b))
が、それはそれを行うための正しい方法ですか? myObjLists
にエラーが発生した場合は、zip
フェーズで失敗した繰り返しをスキップできますか?私は最初のFlux
を再利用する必要がないように私は最終的に、(フラックスを破るヌル・アイテムを防ぐため)Tuple
sおよびOptional
秒を使用するために選んだき