我正在运行ParallelFlux,并且其中一条导轨发生故障。我无法“恢复”它甚至无法处理原本应该到达该轨道的事件
Flux.just(1, 2, 3, 4, 5, 6, 7, 8, 9)
.parallel(4)
.runOn(Schedulers.parallel())
.doOnNext(e -> {System.out.println("test "+e); if (e % 2 == 0) throw new RuntimeException(e+":"+2);})
.doOnNext(e -> {if (e % 3 == 0) throw new RuntimeException(e+":"+3);})
.subscribe(
goodNumber -> System.out.println("Good number "+goodNumber),
err -> System.out.println("Failed number "+err.getMessage()
);
我想处理该范围内的所有数据,但是我想念6,7,8,因为它们的轨道被取消了。
我得到的结果是
test 2
test 4
test 3
test 1
Good number 1
test 5
Good number 5
test 9
Failed number 4:2
Failed number 2:2
Failed number 3:3
Failed number 9:3
并行工作并为每个导轨执行某种“ onErrorContinue”功能的正确方法是什么?