Spring集成:并行处理

Spring集成:并行处理,spring,spring-integration,Spring,Spring Integration,我有一个spring消息侦听器,它接收股票价格(S1、S2、S3…)。同一股票的价格需要按顺序处理,而不同股票的价格应该并行处理 e、 g.如果价格顺序为S1-1、S1-2、S2-1、S1-3、S3-1、S2-2、S1-3、S3-2。。 然后应该有三个并行的处理流 S1-1、S1-2、S1-3 S2-1,S2-1 S3-1,S3-2 目前我正在并行处理所有内容,消息侦听器在消息到达时立即将消息发送给priceInChannel <int:channel id="priceInChannel

我有一个spring消息侦听器,它接收股票价格(S1、S2、S3…)。同一股票的价格需要按顺序处理,而不同股票的价格应该并行处理

e、 g.如果价格顺序为S1-1、S1-2、S2-1、S1-3、S3-1、S2-2、S1-3、S3-2。。 然后应该有三个并行的处理流

S1-1、S1-2、S1-3

S2-1,S2-1

S3-1,S3-2

目前我正在并行处理所有内容,消息侦听器在消息到达时立即将消息发送给priceInChannel

<int:channel id="priceInChannel">
    <int:dispatcher task-executor="threadPoolExecutor"/>
</int:channel>

我需要做哪些改变才能达到所需的行为

谢谢
Murali看起来你应该这样做:

  • 每种股票的总价格为S1、S2、S3

  • 给那些包重新排序。这里需要做一些技巧来解决
    sequenceDatails

  • 将每只股票按价格分割到执行者频道

  • 当然,这个解决方案取决于您有多少传入数据,以及它们全部到达的时间

    更新


    我相信我无法累计,因为这是一系列连续的价格

    嗯。有道理

    那么,为每个系列设置一个
    路由器
    队列频道怎么样

    股票将并行处理,但股票中的每个价格都是连续的,因为队列通道将阻塞底层处理程序,直到消息结束。当然,如果队列通道的
    轮询器是:

    <poller max-messages-per-poll="1" fixed-delay="100"/>
    

    我认为我无法将一系列连续的价格相加