Spring Integration中的“重复直到满足条件”

时间:2017-01-16 22:33:05

标签: java spring spring-integration

简而言之,这就是流程:

inputChannel->transformer->firstOutboundAdapter->pollingOutboundAdapter

概要:inputChannel接收传入消息,传递给变换器,变换器又将转换后的消息传递给firstOutboundAdapter。后者调用Web服务(专有...)来启动需要一段时间才能完成的过程。为了找出该进程的状态,需要定期调用另一个Web服务以确定状态。

问题: 如何实现pollingOutboundAdapter定期查询Web服务,仅在收到正确的响应时返回? 这里有一个问题:我想在队列中弹出一条消息,处理它,并在准备好后才返回pollingOutboundAdapter。 我想避免在场景中编写某种重复,并尽可能使用Spring Integration消息处理......

我希望我的沟通足够明确:)非常感谢任何建设性的意见!

1 个答案:

答案 0 :(得分:1)

尝试找出RequestHandlerRetryAdvicehttp://docs.spring.io/spring-integration/docs/4.3.6.RELEASE/reference/html/messaging-endpoints-chapter.html#message-handler-advice-chain

的解决方案

您可以抛出异常,直到某些条件和retryTemplate将执行相同的调用直到成功。