Spring integration Spring集成:根据上次轮询的最后一条消息执行轮询器触发器

Spring integration Spring集成:根据上次轮询的最后一条消息执行轮询器触发器,spring-integration,Spring Integration,我有如下轮询器配置: <int:poller id="myPoller" default="true" max-messages-per-poll="2" task-executor="executor" error-channel="errorChannel" receive-timeout="20000" trigger="dynamicTrigger"> </int:poller> 但我需要用上一次民意测验的最后一条信

我有如下轮询器配置:

<int:poller id="myPoller" default="true"  max-messages-per-poll="2" task-executor="executor"
                error-channel="errorChannel" receive-timeout="20000" trigger="dynamicTrigger">
    </int:poller>

但我需要用上一次民意测验的最后一条信息触发民意测验程序。例如,流程的示例:

如果我有4个(A,B,C,D)Post rest,应用程序将首先处理2个(A,B)消息,然后等待最后一个响应(来自A或B),然后触发下一个消息(C,D)的轮询


如何达到这一条件?Thx

好吧,我建议你看看poller的
。使用一些定制的
MethodInterceptor
执行决策逻辑并调用轮询源
stop()
。当您在下游某个地方有一个所需的响应时,只需再次执行该端点的
start()
,即可继续处理一组新的消息

有了足够大的
轮询间隔
您甚至不需要该
,只需通过一些状态检查在下游执行
stop()


也考虑使用<代码>控制总线< /代码> <代码>停止/启动< /代码>操作。

谢谢Artem。我会试着用它