gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 11:16:06 25 4
gpt4 key购买 nike

我正在使用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

最佳答案

您可以使用完成文件。如果您在文件使用者上配置它们,它会忽略所有文件,直到真实文件旁边有完成(或标记)文件。

您还可以配置文件生成器来创建完成的文件。

请参阅Camel Docs for File component并完成使用完成文件一章。

关于java - 如何锁定写入文件以便其他消费者无法使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50275572/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com