Cron表达式作为聚合器发布策略

时间:2015-07-15 17:51:01

标签: java spring-integration

我想在我的链中放一个aggregator来聚合所有传入的消息(String),并在特定时刻释放聚合消息(String),我想用“cron”来定义表达式“(与轮询器中使用的那些一样)

关于如何做到这一点的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:3)

由于您只想通过cron表达式从聚合器中发布消息,我建议您查看MessageGroupStoreReaperquestion负责启动forceComplete操作聚合器。正如您从文档中看到的那样,必须在cron上完成<task:scheduled>内容。

messageStore的{​​{1}}必须是MessageGroupStoreReaper中的<aggregator>,并且不与其他组件共享。

聚合器配置可能如下所示:

<aggregator message-store="messageStore"
   release-strategy-expression="false"
   expire-groups-upon-completion="true"
   send-partial-result-on-expiry="true"/>

在这种情况下建议使用ReleaseStrategy,因为只有在新消息到达时才会查阅发布策略,从而无法实现基于时间的发布策略。