用例轮询HttpService并执行进一步的操作

时间:2018-08-22 15:36:42

标签: spring-integration spring-integration-dsl

我的用例就是这样。我想定期轮询休息服务,并且 使用该信息呼叫另一个休息服务。我的DSL如下图所示

  public IntegrationFlow flow() {
    return IntegrationFlows
        .from(() -> "messageSource", c -> c.poller(Pollers.fixedRate(5000).maxMessagesPerPoll(1)))
        .handle(Http.outboundChannelAdapter("firstRestServiceUrl"))
        .handle(Http.outboundChannelAdapter("secondRestServiceUrl")).get();
  }

我的问题是,第一个handle方法将在回复通道上回复,并且消息不会继续传播到第二个处理程序。

还是我的理解错误?应该使用一个依次调用firstRestServiceUrl的转换器而不是handle方法吗?

我从文档中了解到,该句柄等效于Service Activator,并且我应该能够将输出通道设置为第二个Service Activator的输入!

1 个答案:

答案 0 :(得分:1)

通道适配器是单向集成,因此流程在第一个适配器处停止。

您需要出站网关。