I have a simple route where I write some string to an output file and then trying to append the contents of the original file. But it ignores and it overwrites the file.
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")
;
I added delay to observe what happens.
- If there is an input file named myFile.txt, Camel picks that file as expected.
- It keeps the file to an custome exchange property as in the code.
- It opens a file named myFile.txt and writes the content "FIRST LINE!" in it and waits for the delay to expire.
- I can open and verify the contents, everything looks good.
- Once delay expires, Camel overwrites the file myFile.txt with the original content it picked from input folder (even though I have asked Camel to append).
Am I doing any mistake here? Not sure if this is specific to Windows 10. I am using Camel version 2.24.1. Thanks for your time.
This is bug CAMEL-14127 fixed in version
2.24.3
. You can upgrade, or use workaroud withcharset
option.