这是我的问题..
我计划在spring集成框架中使用聚合器。
我想使用id对消息进行分组并将它们发送到管道以进行进一步处理,但我还想将这些消息分组到不同的字段集上并创建一个散列映射,该散列映射将被我分组的所有消息使用使用第一个标准,所以这个hashmap是一个全局变量。
实施例。 消息1: 执行ID:100 帐号:1234 CUSIP:IBM 数量:10
消息2: 执行ID:100 帐号:4321 CUSIP:IBM 量:20
消息3: 执行ID:200 帐号:1234 CUSIP:IBM 数量:30
消息4: 执行ID:200 帐号:4321 CUSIP:IBM 数量:40
我希望通过为每个帐户ID和cusip添加数量来维护全局哈希映射 核心价值 1234,IBM-> 40 4321,IBM-> 60 并根据执行ID聚合这4条消息,并在管道中发送2条消息。
我希望我不会提供太多细节并导致混淆。
我有两个问题。 1.如何维护该全局hashmap并将其用于进一步管道的消息? 2.聚合器是否是这类问题的正确选择?
期待您的回应!
谢谢! Supriya
答案 0 :(得分:1)
您还不完全清楚您想要全局哈希图,但是,是的,您可以在多个字段上进行汇总,只需使用适当的correlation-expression
(或使用自定义CorrelationStrategy
#39;对于表达来说太复杂了。)
您可以创建<bean/>
,例如一个ConcurrentHashMap
并从你的bean中引用它,甚至使用表达式来添加它。