- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有按组(假设有 50 条)提取到系统的消息,需要按 AGGREGATION_ID 将其分组到消息列表中并进一步发送到流程中。
我可以使用correlationStrategy与该id进行聚合,但我需要知道何时释放聚合消息。在 ReleaseStrategy 中,我只能查看已添加到聚合中的消息,但我需要知道提取的 50 条组中何时不再有具有相同 AGGREGATION_ID 的消息,以便知道何时发送该组。我怎样才能做到这一点?
最佳答案
一个ReleaseStrategy
可以是对整个应用程序上下文具有完全访问权限的任何 bean。如果您在聚合之前有某个地方存储这些消息,那么您绝对可以从自定义ReleaseStrategy
查看该地方。实现。
另一方面,我建议查看 groupTimeout
聚合器选项:https://docs.spring.io/spring-integration/docs/5.3.0.M4/reference/html/message-routing.html#agg-and-group-to 。因此,按照正常行为,您的小组将根据 50
的预期规模聚集起来。 ,但是当该组在一段时间内没有新消息时,将发布一个组,其中包含迄今为止的任何消息。您还可以配置 groupTimeout
作为 SpEL 表达式,因此也可以访问应用程序上下文。
关于java - Spring Integration - ReleaseStrategy 查看尚未添加的消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61056592/
我有按组(假设有 50 条)提取到系统的消息,需要按 AGGREGATION_ID 将其分组到消息列表中并进一步发送到流程中。 我可以使用correlationStrategy与该id进行聚合,但我需
我是一名优秀的程序员,十分优秀!