我想在我的链中放一个aggregator
来聚合所有传入的消息(String),并在特定时刻释放聚合消息(String),我想用“cron”来定义表达式“(与轮询器中使用的那些一样)
关于如何做到这一点的任何想法?
谢谢!
答案 0 :(得分:3)
由于您只想通过cron表达式从聚合器中发布消息,我建议您查看MessageGroupStoreReaper
,question负责启动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
,因为只有在新消息到达时才会查阅发布策略,从而无法实现基于时间的发布策略。