我有一个简单的路线,我将一些字符串写入输出文件,然后尝试附加原始文件的内容。但它会忽略并覆盖文件。
from("file://inputFolder")
.routeId("InputFolderToTestSedaRoute")
.setProperty("myFileConsumedBody", simple("${body}"))
.setBody(constant("FIRST LINE!"))
.to("file://{{outputFolder}}")
.setBody(simple("${exchangeProperty.myFileConsumedBody}"))
.log("*** STEP 100: ${headers} :***")
.delay(10000)
.to("file://outputFolder?fileExist=Append")
;
我增加了延迟来观察会发生什么。
- 如果有一个名为 myFile.txt 的输入文件,Camel 会按预期选择该文件。
- 它将文件保存到代码中的客户交换属性中。
- 它打开一个名为 myFile.txt 的文件并写入内容“FIRST LINE!” 在其中并等待延迟到期。
- 我可以打开并验证内容,一切看起来都不错。
- 一旦延迟到期,Camel 会用它从输入文件夹中选择的原始内容覆盖文件 myFile.txt(即使我已经要求 Camel 追加)。
我在这里做错了吗?不确定这是否特定于 Windows 10。我使用的是 Camel 版本 2.24.1。谢谢你的时间。