Spring integration 对HTTP出站网关进行异步调用

Spring integration 对HTTP出站网关进行异步调用,spring-integration,Spring Integration,我有一个系统,我正在考虑用spring集成改造后端 这个系统中的一些模式,看看如何使用多个请求和稍微不同的参数访问同一个web服务和/或HTTP服务器(我都有)。然后将结果聚合在一起并呈现给用户 我让它在同步模式下成功工作,请求通过网关进入,被“拆分”为包含每个调用键值的消息(使用a调用、使用B调用、使用XYZ调用)。然后,每条消息都会发送到HTTP出站网关,进行调用并返回。然后将结果聚合在一起,并通过网关发回 我正在努力解决的是异步进行这些HTTP调用。当前系统使用期货在单独的线程中进行每个调

我有一个系统,我正在考虑用spring集成改造后端

这个系统中的一些模式,看看如何使用多个请求和稍微不同的参数访问同一个web服务和/或HTTP服务器(我都有)。然后将结果聚合在一起并呈现给用户

我让它在同步模式下成功工作,请求通过网关进入,被“拆分”为包含每个调用键值的消息(使用a调用、使用B调用、使用XYZ调用)。然后,每条消息都会发送到HTTP出站网关,进行调用并返回。然后将结果聚合在一起,并通过网关发回

我正在努力解决的是异步进行这些HTTP调用。当前系统使用期货在单独的线程中进行每个调用。我想要一个类似的图案

我认为我需要做的是创建第二个网关,它包装HTTP出站网关,并使用返回值创建异步调用。然而,我不确定这将如何与聚合一起工作,并且感觉应该有一种更干净的方法。我已经三年没有机会使用Spring集成了,所以我正在尝试重新学习所有的东西


是我遗漏了什么,还是您需要这样做?

您只需使通道(出站网关订阅的通道)执行通道(和)


这样,每个请求将在一个单独的线程上运行—聚合发布将在接收最终响应的线程上发生。您的原始线程将在网关中等待响应(或者您可以使用异步网关等待将来的响应)。

谢谢。我知道我错过了一些“明显的”东西。我只需要了解故障切换现在将如何工作。