Data loss on concurrent file write in camel -
i using camel technology file operation. system cluster environment.
let say, have 4 instances instance instance b instance c instance d
folders structure
input folder: c:/app/input
output folder: c:/app/output
all 4 instances pointing input folder location. per, business 8 files placed in input folder , output consolidated file. here camel losing data when concurrently writing output file.
route:
from("file://c:/app/input") .setheader(exchange.file_name,simple("output.txt")) .to("file://c:/app/output?fileexist=append") .end();
kindly me resolve issue. there thing write lock in camel? avoid concurrent file writer. in advance
you can use donefile option of file component, see http://camel.apache.org/file2.html more information.
avoid reading files being written application
beware jdk file io api bit limited in detecting whether application writing/copying file. , implementation can different depending on os platform well. lead camel thinks file not locked process , start consuming it. therefore have own investigation suites environment. camel provides different readlock options , donefilename option can use. see section consuming files folders others drop files directly.
Comments
Post a Comment