我的用例就是这样。我想定期轮询休息服务,并且 使用该信息呼叫另一个休息服务。我的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的输入!
答案 0 :(得分:1)
通道适配器是单向集成,因此流程在第一个适配器处停止。
您需要出站网关。