如何为Spring Integration配置多个通道?

时间:2012-04-16 09:55:50

标签: spring spring-integration

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

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

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

1 个答案:

答案 0 :(得分:1)

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

如果希望http调用同时运行,请将一个任务执行程序添加到publish-subscribe-channel;这样每个http调用都将在一个单独的线程上运行(只要任务执行程序配置了足够的线程。

如果您希望以串行方式进行呼叫,请关闭任务执行程序。

除非您想在返回之前对聚合结果执行某些操作,否则只需在聚合器上保留输出通道,框架就会将聚合响应发送到网关(Future)。您不需要在网关上使用默认回复通道。