我正在尝试在 Spring Integration 中实现以下流程。下面是我的要求。
- 异步网关,起点,接收搜索请求并返回Future
- 网关向多个通道发送请求以执行搜索
- 每个频道使用搜索字符串联系基于 HTTP 的网站
- 聚合器从第 3 步输出的所有通道接收结果到输出通道
我不确定如何实现第 3 步和第 4 步,或者在 spring 集成中是否有更好的方法来做到这一点。基本上我必须使用搜索字符串联系多个站点并生成汇总结果。
我正在尝试在 Spring Integration 中实现以下流程。下面是我的要求。
我不确定如何实现第 3 步和第 4 步,或者在 spring 集成中是否有更好的方法来做到这一点。基本上我必须使用搜索字符串联系多个站点并生成汇总结果。
gateway->publish-subscribe-channel(apply-sequence=true)->http-outbound-gateway(s)->aggregator
如果您希望 http 调用同时运行,请将任务执行器添加到发布订阅通道;这样每个 http 调用都将在单独的线程上运行(只要任务执行器配置了足够的线程。
如果您希望调用连续发生,请关闭任务执行器。
除非您想在返回聚合结果之前对其进行处理,否则只需关闭聚合器上的输出通道,框架就会将聚合响应发送到网关(Future)。您不需要网关上的默认回复通道。