Reactor Flux 链接,如果成功则中断并继续
Reactor Flux chaining, break and continue if one succeeds
用例是尝试连接到其中一台后端服务器,如果成功就足够了。有什么方法可以在不阻塞的情况下使用 Reactor 框架完成此操作吗?
例如:
List<String> servers = ...
Flux.fromIterable(servers)
这个 flux 应该一个接一个地尝试连接并发送数据到服务器,直到成功。
有什么方法可以做到这一点吗?
提前致谢。
正是为了这个目的,有 Flux#first 方法。
所以你需要查询服务器,如果没有结果,return empty flux,所以 reactor 会尝试下一个查询,依此类推:
Flux.first(
Flux.fromIterable(servers)
.flatMap(this::queryServer)
)
用例是尝试连接到其中一台后端服务器,如果成功就足够了。有什么方法可以在不阻塞的情况下使用 Reactor 框架完成此操作吗?
例如:
List<String> servers = ...
Flux.fromIterable(servers)
这个 flux 应该一个接一个地尝试连接并发送数据到服务器,直到成功。
有什么方法可以做到这一点吗?
提前致谢。
正是为了这个目的,有 Flux#first 方法。 所以你需要查询服务器,如果没有结果,return empty flux,所以 reactor 会尝试下一个查询,依此类推:
Flux.first(
Flux.fromIterable(servers)
.flatMap(this::queryServer)
)