我有一个用例,我想获取图像路径(通过n 个 REST 调用(。我希望这些调用并行运行,一个调用的失败不会影响其余的调用。
这是我尝试过的,但问题是调用按顺序运行:
Scheduler scheduler = Schedulers.elastic();
Flux.fromIterable(product.getIds()).runOn(scheduler)
.map(item -> getImages(item))
.subscribe(img -> System.out.println(img));
我一直在春季网络flux中尝试它。关于我在这里错过了什么的任何想法?
使用 .parallel()
将按顺序发出项目的Flux
转换为ParallelFlux
。
Flux.fromIterable(product.getIds())
.parallel()
.runOn(Schedulers.elastic())
.map(item -> getImages(item))
.subscribe(img -> System.out.println(img));