如何锁定写入文件,以便其他消费者无法使用

时间:2018-05-10 14:42:34

标签: java apache-camel spring-camel

我正在使用camel替换文件中的数据(它是400 MB的大文件) 即使文件正在使用(它处于写入模式),我也面临着其他消费者提取文件的问题。

Camel中是否有办法锁定处于写入模式的文件,因此另一个消费者/路由无法使用。写完后应该消耗掉。 我尝试使用readLocks但到目前为止没有运气。

from("file://A").split().tokenize("\n", 999).streaming()
.log("Spliting::::::::::").unmarshal(csv).bean("transferDate", "enrich")
.marshal(csv).to("file://B?fileExist=Append");

from("file://B?delete=true").to("file://A"); // this route pick up file even the first route haven't finished writing file completely

0 个答案:

没有答案