gpt4 book ai didi

tomcat - 带 Tomcat 服务器和 BlazeDS 的 FileLock

转载 作者:行者123 更新时间:2023-11-28 23:53:39 24 4
gpt4 key购买 nike

我有一个 tomcat/blazeDS 应用程序,多个用户写入同一个 xml 文件。当他们写的时候,我想对该文件进行文件锁定。我的第一次尝试是获取文件的文件 channel 并为文件建立一个 lock() 。但不幸的是,如果我尝试这样做,总是会出现 OverlappingFileLockException,因为总是有一个新进程来调用 blazeDS 组件。

是否有可能在 session 中存储 FileLock 或 tomcat 的基本功能以在 session 中锁定文件。

谢谢大家

最佳答案

我通过在静态类中使用 ReentrentLock 解决了这个问题,所以当它被锁定时我无法访问它。

public class DataAccessUtil {

private static final ReentrantLock lock = new ReentrantLock();

...

public static void lockDataFolder() {

lock.lock(); // block until condition holds
}

public static void unlockDataFolder() {

lock.unlock();

}

关于tomcat - 带 Tomcat 服务器和 BlazeDS 的 FileLock,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4314416/

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