如何使用apache camel从异步队列中选择多个消息并将其聚合到单个交换中

时间:2018-08-03 10:49:14

标签: apache-camel jms jbossfuse

我正在运行一个骆驼spring boot应用程序,我正在尝试使用apache camel将多个异步消息处理成一条消息。 邮件中有一个唯一的标头,我需要使用该标头进行汇总,complementSize为3,并且它是固定的。

我使用的是Apache骆驼2.21。

我尝试了以下操作,但未按预期工作。交易所未合并在一起。一旦与seda配合正常,我将用rabitmq替换seda。

骆驼路线示例:

<route id="SegaCompletionRoute" streamCache="true">
            <from uri="seda:ackquote?concurrentConsumers=3" />
            <aggregate completionSize="3" groupExchanges="true">
                <correlationExpression>
                    <simple>${header.Long-Running-Action}</simple>
                </correlationExpression>
                <to uri="mock:result" />
            </aggregate>
            <saga propagation="MANDATORY">
            </saga>
            <log message="Grouped exchange 
            ${body}" />
            <log message="Ackquote 
            ${header.Long-Running-Action}" />
            <!-- <to uri="saga:compensate" /> -->
            <to uri="saga:complete" />
        </route>

我想念什么吗?

0 个答案:

没有答案