0

Camel 2.0 から 2.6 にアップグレードしようとしています。

これは私のapplicationContext-camel.xmlファイルにあります...

<camel:route >
<camel:from uri="transactionSaleBuffer" />
<camel:policy ref="routeTransactionPolicy"/>
<camel:transacted ref="transactionManagerETL" />
<camel:to uri="detailFactProcessor" />
</camel:route>

真ん中の 2 行 (ポリシーとトランザクション) を追加すると、例外が発生します...

原因: org.apache.camel.FailedToCreateRouteException: ルート route2 の作成に失敗しました: >>> From[transactionSaleBuffer] <<< ルート内: Route[[From[transactionSaleBuffer]] -> [Transacted[ref:trans..ルート route2 には出力プロセッサがないためです。to("log:foo") などの出力をルートに追加する必要があります。

これは、Camel クラス RouteDefinition.java が ProcessorDefinitionHelper.hasOutputs(outputs, true) を呼び出すためであることがわかります。

これは、1 つのオブジェクトの配列を渡します ([Transacted[ref:transactionManagerETL]])

この 1 つのオブジェクトには 1 つの 2 つの子があります

[Transacted[ref:transactionManagerETL]]
CHILD-[Policy[ref:routeTransactionPolicy], 
CHILD-To[detailFactProcessor]

Policy の子には出力がないため、例外がスローされます。

それでも、子を追加する方法がわかりません。上記の XML はスキーマと一致します。

多分私は何か他のものを見逃していますか?

私のセットアップは例と一致します... Apache Camel: Book in One Page (セクションを参照してください: Camel 1.x - JMS サンプル)

誰でも私を助けてください。ありがとう!ジェフ・ポーター

4

1 に答える 1