在我的项目中,我有这个:
ParallelFlux<Device> flux = Flux.fromIterable(children)
.delayElements(Duration.ofMillis(10))
.parallel(18)
.runOn(Schedulers.elastic(), 10)
.doOnNext(c -> recursiveValidationThroughoutChildren(c, tracker)
});
其中 recursiveValidationThroughoutChildren 是一个声明如下的方法:
boolean recursiveValidationThroughoutChildren(Device d, NodeChangesTracker tracker) throws Exception;
我不明白的是如何处理最后一个方法抛出的异常。我希望将异常传播到ParallelFlux之外。这可能吗?正确的处理方法是什么?
1条答案
按热度按时间3htmauhk1#
我按照@Rozart建议的链接操作,但我不能按照它所解释的那样应用解决方案。我不得不稍微改变一下:
之所以需要进行更改,是因为ParallelFlux不支持“handle”方法,所以我必须添加一个try catch并使用Flux重新启动异常。我不知道这是否是一个好的练习,但这是我让它工作的唯一方法。