@Bean
public HttpMessageHandlerSpec documentumPolledInbound() {
return Http
.outboundGateway("/fintegration/getReadyForReimInvoices/Cz", restTemplate)
.expectedResponseType(String.class)
.errorHandler(new DefaultResponseErrorHandler())
;
}
如何轮询上述内容,以获得有效载荷以供进一步处理
发布于 2019-03-16 17:08:17
HTTP客户端端点不是可轮询的,而是事件驱动的。因此,就像您通常从curl
调用REST服务一样,这里也会发生同样的情况。我猜,对于这个.handle()
,您有一些documentumPolledInbound()
,并且有一些消息通道可以发送消息来触发这个端点来调用REST服务。
不清楚您将如何处理响应,但是有一种定期触发事件的方法来调用此端点。
为此,我们只能*模拟*一个可以配置某些触发器策略的入站通道适配器:
@Bean
public IntegrationFlow httpPollingFlow() {
return IntegrationFlows
.from(() -> "", e -> e.poller(p -> p.fixedDelay(10, TimeUnit.SECONDS)))
.handle(documentumPolledInbound())
.get();
}
这样,我们将以空字符串作为有效负载向handle()
的通道发送一条消息。我们每10秒做一次。
由于您的HttpMessageHandlerSpec
不关心入站有效负载,所以我们从轮询通道适配器中的MessageSource
返回什么并不重要。
https://stackoverflow.com/questions/55199285
复制相似问题