我遇到了Aggregator2组件的问题。我使用聚合策略将传入的消息连接到带有expression属性的列表中,以指定日期字段,该字段确定应将哪些消息连接在一起。
我需要一些completitionPredicate,它将使用一些cron
表达式和一些日期字段来决定何时刷新消息。
问题是当消息到达时正在检查completitionPredicate,所以如果我已经有应该刷新的聚合消息列表,它将等待下一条消息到达。
我需要的是一些completitionPredicate,它将每5秒调用一次。检查是否可以刷新消息。我怎么能在骆驼中做到这一点?
此时间将动态计算,因此我无法使用completitionTimeout。我怎么能在骆驼中做到这一点?
答案 0 :(得分:1)
如你所说超时使用固定间隔,你不能轻易做到这一点。但是,您可以构建可在聚合器上配置的自定义AggregateController
,然后构建自己的cron任务,使用此控制器强制完成正在进行的正在进行的组。