【发布时间】:2014-02-19 16:05:42
【问题描述】:
我正在尝试创建一个使用 camel-stax 处理大型 xml 文件的路由。文件内容处理工作正常,但最终失败并出现以下错误:
Caused by: java.io.IOException: Renaming file from: C:\workdir\file.xml to: C:\workdir\.camel\file.xml failed due cannot delete from file: C:\workdir\file.xml after copy succeeded
camel 似乎没有关闭文件输入流,因此在处理后它无法将文件移动到目标位置。当然,我可以设置noop=true,位我想删除处理过的文件。
我的路线如下所示:
<route id="myRoute">
<from uri="file:{{working_dir}}?include=file.xml" />
<split streaming="true">
<ref>staxRecord</ref>
<to uri="log:test"/>
</split>
</route>
最初它有点复杂,我尽可能地简化了它。现在它看起来就像来自http://camel.apache.org/stax 的最后一个样本。
补充说明:我在 Windows 上执行路由。骆驼版:2.12.2。
【问题讨论】:
-
我认为这是一个与 windows 相关的错误。我进行了骆驼税组件测试。他们执行成功,但 target/camle-stax-test.log 文件包含相同的回溯:fpaste.org/78642/39282879
-
听起来输入流需要在camel-stax中的某个地方关闭
标签: apache-camel stax