gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 00:14:17 25 4
gpt4 key购买 nike

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

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

我让它在同步模式下成功运行,在这种模式下,请求通过网关传入,被“拆分”为包含每次调用键值的消息(调用 A、调用 B、调用 XYZ)。然后每条消息都进入 HTTP 出站网关,进行调用,然后返回。然后将结果汇总在一起并通过网关发回。

我遇到的问题是异步进行这些 HTTP 调用。当前系统使用 Futures 在单独的线程中进行每个调用。我想要一个类似的图案。

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

我是不是遗漏了什么,或者这就是您需要的方式吗?

最佳答案

您可以简单地创建 channel (出站网关订阅的 channel )ExecutorChannels(http://static.springsource.org/spring-integration/reference/html/messaging-channels-section.html#executor-channelhttp://static.springsource.org/spring-integration/reference/html/messaging-channels-section.html#channel-configuration-executorchannel)。

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

关于spring-integration - 对 HTTP 出站网关进行异步调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13993672/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com