抛出异常时,Camel File组件不应重命名文件

时间:2013-10-28 06:16:46

标签: apache-camel

我的驼峰路线配置如下:

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

1 个答案:

答案 0 :(得分:2)

您需要打开shareUnitOfWork,以便拆分器返回异常,以便文件使用者可以回滚。您可以在http://camel.apache.org/splitter

了解更多相关信息
  <split streaming="true" shareUnitOfWork="true">