将两个流合并为一个磁通

时间:2020-05-23 11:25:38

标签: java java-stream project-reactor

如何将两个流Stream<String>合并到Flux中?我了解的是,我可能需要使用Flux创建方法来创建它,但我对此不太确定:

flux1.create(sink -> {
    sink.onRequest(L -> {
        for(long l = 0; l < L; l++) {
            sink.next(..);
        }
    });
})

请帮助。

1 个答案:

答案 0 :(得分:1)

Stream合并为一个,然后调用Flux#fromStream

Flux<String> flux = Flux.fromStream(Stream.concat(stream1, stream2));

执行此操作的另一种方法是使用Flux然后使用Flux#fromStream创建Flux#merge

Flux<String> flux = Flux.merge(flux1, flux2);