2013-06-19 39 views
0

我與ActiveMQ的 * 聚合 *的問題,將是非常心存感激,如果有人幫我弄好了。打包成XML。ActiveMQ的分配器/聚合器使用JMS傳輸

所以我已經配置了我的路線是這樣的:

<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> 

這工作並將其拆分由每千行由我的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> 

感謝:

這是它(不工作)!

回答

0

你需要做的是爲聚合器提供一個AggregationStrategy的實現 - 這是一個告訴模式如何組裝兩個匹配correllationExpression的對象的類。有關如何執行此操作的示例,請參見Camel Aggregator