【问题标题】:spring-boot multi threading aggregation and vice versaspring-boot 多线程聚合,反之亦然
【发布时间】:2017-06-11 20:00:05
【问题描述】:

我们正在构建 spring-boot 应用程序。目前 Rest 控制器正在按顺序调用多个 Web 服务。现在我们需要并行执行这些调用并根据以下条件返回响应

  1. 聚合 - 等待所有并行 Web 服务调用完成,然后聚合响应并返回相同的响应。

  2. 无聚合 - 返回响应首先完成的 Web 服务调用并放弃/取消/中断其余正在进行的调用。

我做了一些研究并找到了 ExecutorService,但不确定这是否适合这两种场景,因为我对 Spring-Boot 非常陌生。

如果有办法达到同样的效果,请告诉我。

【问题讨论】:

标签: java multithreading spring-boot parallel-processing executorservice


【解决方案1】:

在我看来,ExecutorService 是一个好主意,您应该将Callable 提交给ExecutoService,以便您回复Future

要处理情况#1,您应该对所有Futures 的isDone() 方法调用进行逻辑与返回值并处理情况#2,您应该进行逻辑OR 之类的操作。

这里是参考 - CallableFuture

我并不是建议特定于 Spring Boot,而是来自 Core Java 的背景。这将使您开始,然后您可以改进方法并切换 API。

希望对你有帮助!!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 2014-02-26
    • 1970-01-01
    相关资源
    最近更新 更多