Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring integration spring集成消息聚合器超时和异步聚合澄清_Spring Integration - Fatal编程技术网

Spring integration spring集成消息聚合器超时和异步聚合澄清

Spring integration spring集成消息聚合器超时和异步聚合澄清,spring-integration,Spring Integration,我们正在spring集成应用程序中使用聚合器。我们正在使用service activator异步处理3个不同服务上的超过100万个产品,其中poller由ThreadPoolExector提供 现在发生的事情是,当假设3个线程在同一个产品上工作时(biz logic检查prod与3个服务的最佳价格),所有这三个线程都在等待聚合完成。现在我们在每个服务上都有超时,所以我们在这里很好。但我认为这会影响系统的吞吐量,因为线程池中的线程在通过直接通道将消息传递给聚合器时,必须等待聚合完成 现在,我想将此

我们正在spring集成应用程序中使用聚合器。我们正在使用service activator异步处理3个不同服务上的超过100万个产品,其中poller由ThreadPoolExector提供

现在发生的事情是,当假设3个线程在同一个产品上工作时(biz logic检查prod与3个服务的最佳价格),所有这三个线程都在等待聚合完成。现在我们在每个服务上都有超时,所以我们在这里很好。但我认为这会影响系统的吞吐量,因为线程池中的线程在通过直接通道将消息传递给聚合器时,必须等待聚合完成

现在,我想将此通道设置为基于队列的通道,以便可以对聚合响应进行异步调用

如果我这样做,那么我就没有什么问题了

  • 特定消息组上的计时器何时启动
  • 向聚合器轮询器提供多个线程以通过多个线程进行聚合,这是一个好的设计吗?如果是,那么分组如何为每条消息工作

  • 当最后一条消息插入到组中时,计时器启动


    是的,聚合器是线程安全的,但是一次只有一个线程可以操作特定的组(由关联策略标识)。它使用锁来防止多个线程同时更新同一组。

    当最后一条消息插入到组中时,计时器启动

    是的,聚合器是线程安全的,但是一次只有一个线程可以操作特定的组(由关联策略标识)。它使用锁来防止多个线程同时更新同一组