【发布时间】:2020-06-25 09:18:03
【问题描述】:
简化我有
var flux1 : Flux<Integer>;
var flux2 : Flux<Tuple2<A,B>> = flux1.map( id -> dbFindOperation(id) ).cache();
var flux3 : Flux<A> = flux2.map( tuple -> tuple.getT1() );
var flux4 : Flux<B> = flux2.map( tuple -> tuple.getT2() );
var flux5 : Flux<Tuple3<Tuple2<A,B>,A,B>> = Flux.zip(flux2,flux3,flux4);
当我订阅flux5时,我希望flux2使每个数据库查找操作时,项目传播到flux3、flux4然后传播到flux5会尽可能快。但根据日志和调试信息,所有项目首先加载到flux2,只有在所有项目都加载后才会继续流。
我怎样才能避免这种情况并让它发挥作用?
【问题讨论】:
标签: java project-reactor reactor