使用jms传输的ActiveMQ Splitter /聚合器

时间:2013-06-19 13:09:42

标签: jboss jms activemq spring-jms blueprint-osgi

我对 activemq * 聚合器 *有疑问,如果有人能以某种方式帮助我,我将非常感激。编组成xml。

所以我的路线配置如下:

<route id="myRoute">
        <from uri="timer:someScheduler?period=5000" />
        <bean ref="someBean" method="someMethod" />
        <marshal>
            <jaxb contextPath="some package" />
        </marshal>
        <split streaming="true">
            <tokenize token="@id" group="1000" />
            <to uri="activemq:topic:some_topic" />
        </split>
        </route>

这可以工作,并且它会拆分由1k行组成的xml消息,不知道如何配置聚合器以便在处理之前将所有消息放在一起。

这是(不起作用):

<route id="myRoute">
        <from uri="activemq:topic:some_Topic" />
        <aggregate completionSize="5"> 
            <correlationExpression>
            <constant>true</constant>
            </correlationExpression>
             <to uri="mock:aggregated"/>
        </aggregate>
        <unmarshal>
            <jaxb contextPath="some_package" />
        </unmarshal>
        <bean ref="someBean" method="someMethod" /> 
    </route>

提前致谢!

1 个答案:

答案 0 :(得分:0)

您需要做的是为聚合器提供AggregationStrategy的实现 - 这是一个类,它告诉模式如何组合与correllationExpression匹配的两个对象。有关如何执行此操作的示例,请参阅Camel Aggregator