0
@Bean
public HttpMessageHandlerSpec documentumPolledInbound() {
    return Http
        .outboundGateway("/fintegration/getReadyForReimInvoices/Cz", restTemplate)
        .expectedResponseType(String.class)
        .errorHandler(new DefaultResponseErrorHandler())
        ; 
}

如何轮询上述内容,以获取有效负载以进行进一步处理

4

1 回答 1

2

HTTP 客户端端点不是可轮询的,而是事件驱动的。因此,就像您通常从curl. 我猜你有一些.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轮询通道适配器中返回的内容实际上并不重要。

于 2019-03-16T17:08:17.353 回答