0

我正在尝试在 Spring Integration 中实现以下流程。下面是我的要求。

  1. 异步网关,起点,接收搜索请求并返回Future
  2. 网关向多个通道发送请求以执行搜索
  3. 每个频道使用搜索字符串联系基于 HTTP 的网站
  4. 聚合器从第 3 步输出的所有通道接收结果到输出通道

我不确定如何实现第 3 步和第 4 步,或者在 spring 集成中是否有更好的方法来做到这一点。基本上我必须使用搜索字符串联系多个站点并生成汇总结果。

4

1 回答 1

1
gateway->publish-subscribe-channel(apply-sequence=true)->http-outbound-gateway(s)->aggregator

如果您希望 http 调用同时运行,请将任务执行器添加到发布订阅通道;这样每个 http 调用都将在单独的线程上运行(只要任务执行器配置了足够的线程。

如果您希望调用连续发生,请关闭任务执行器。

除非您想在返回聚合结果之前对其进行处理,否则只需关闭聚合器上的输出通道,框架就会将聚合响应发送到网关(Future)。您不需要网关上的默认回复通道。

于 2012-04-16T14:30:27.283 回答