project-reactor - 由合并构建的 Flux 是如何完成的

标签 project-reactor

如果有以下内容

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

合并的Flux如何/何时/为何完成?

最小意外原则可能表明它会在任何合并的通量完成时完成。然而,这不是我亲眼所见的。

最佳答案

合并的语义是尝试彻底将两个Flux的交错发射重放为单个Flux。因此,合并的 Flux 仅当两个源都完成时才完成。

zip 这样的运算符相比,它的目的是通过从每个源中获取一个元素来生成尽可能多的对。因此,当任何源完成时它就会完成,因为从那时起它就不能再生成对了。

关于project-reactor - 由合并构建的 Flux 是如何完成的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43416782/

相关文章:

java - react 器选择接收器/处理器

spring - 响应式(Reactive) WebClient 不发出响应

java - 如何限制 Activity 的 Spring WebClient 调用次数

functional-programming - 如何以非阻塞方式解析 Spring 5 WebClient 响应?

spring-boot - 无法构建 `reactor.core.publisher.Mono` Spring Cloud OpenFeign 和 Spring boot 2 的实例

java - 在 java flux 中按对象属性分组

java - Spring webflux Controller : consuming POJO vs Mono?

java - 如何在Reactor中进行分页?

java - 如何正确管理 Reactor 中的可关闭资源

java - 在 Spring Webflux 中执行阻塞 JDBC 调用