0

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>

前もって感謝します!

4

1 に答える 1

0

必要なのは、アグリゲーターに の実装を提供することです。AggregationStrategyこれは、 に一致する 2 つのオブジェクトを組み立てる方法をパターンに指示するクラスですcorrellationExpression。これを行う方法の例については、Camel Aggregatorを参照してください。

于 2013-06-20T09:09:53.180 に答える