我的驼峰路线配置如下:
<route id="text-file-route">
<from
uri="file:files/merchant?antInclude={{include-file-type}}&initialDelay=1000&delay=1000&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。
答案 0 :(得分:2)
您需要打开shareUnitOfWork,以便拆分器返回异常,以便文件使用者可以回滚。您可以在http://camel.apache.org/splitter
了解更多相关信息 <split streaming="true" shareUnitOfWork="true">