0

以下のようにキャメルルートを設定しました:

<route id="text-file-route">
                        <from 
                                uri="file:files/merchant?antInclude={{include-file-type}}&amp;initialDelay=1000&amp;delay=1000&amp;move=${file:name.noext}.processed" />
                        <split streaming="true">
                                <tokenize token="\n" />
                                <process ref="splitBatchAdapterProcessor" />
                                <process ref="merchantStreamProcessor" />
                                <process ref="merchantTableProcessor" />
                                <to uri="mock:dummy" />
                        </split>
                </route>

現在の構成では、ファイルの処理中に例外がスローされた場合でも、ファイルの名前が変更されます。私が欲しいのは、ファイル中に例外がスローされない場合にのみ、ファイルの名前を変更する必要があるということです。

私はキャメル2.12を使用しています。

4

1 に答える 1

2

shareUnitOfWork をオンにして、スプリッターが例外を返し、ファイル コンシューマーがロールバックできるようにする必要があります。詳細については、http: //camel.apache.org/splitterを参照してください。

  <split streaming="true" shareUnitOfWork="true">
于 2013-10-28T08:40:03.993 に答える