首页 > 解决方案 > 在某个条件下聚合多个组,其中一个组可能为真

问题描述

我有一条线为它调用两个网络服务

并为每个聚合器的拦截器处的响应增加一个全局计数器

request -> success -> completedAggreator ( release strategy if  doneCondition())

request -> fail-> FailAggregator ( release strategy if doneCondition())

doneCondition(){
    numberOfResponse = line * 2
}

问题是最后一个响应可能到达一个聚合器并成功释放,但另一个聚合器仍在等待,因为它没有收到最后一个响应来验证释放条件

标签: spring-integration

解决方案


这听起来像是 Scatter-Gather 的任务:https ://docs.spring.io/spring-integration/docs/5.0.5.RELEASE/reference/html/messaging-routing-chapter.html#scatter-gather 。

否则不清楚为什么需要两个聚合器,同时一个组基于独立于执行结果的相关性。

请解释您的业务任务。现在还不清楚你想做什么。


推荐阅读