【问题标题】:Project reactor - Cancel Flux REST API request if other two parallel flux requests are completedProject reactor - 如果其他两个并行通量请求已完成,则取消通量 REST API 请求
【发布时间】:2021-12-09 19:11:34
【问题描述】:

我并行运行多个 REST API 请求。如果至少 2 个请求成功完成,则应终止所有其他请求。如何使用项目反应器(Spring Webflux)和 Flux 来实现这一点?

【问题讨论】:

  • 你能更详细一点吗?你想取消你打电话的客户吗?问题不是很清楚。

标签: java spring spring-boot spring-webflux project-reactor


【解决方案1】:

你想要类似 Flux#take(long n)

您可以急切地订阅您的发布者,只发出 n 个元素并取消其余的。

在你的情况下,它看起来像这样:

List<Publisher<YourType>> publishers = ...;

Flux.merge(publishers)
    .take(2)
    .......
    .......
    .subscribe(...) or return the publisher to Webflux (if you are using it)

【讨论】:

    猜你喜欢
    • 2020-02-11
    • 2020-06-21
    • 1970-01-01
    • 1970-01-01
    • 2021-08-27
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多