FileLock与Tomcat Server和BlazeDS

时间:2010-11-30 13:46:19

标签: tomcat locking blazeds

我有一个tomcat / blazeDS应用程序,有几个用户写入同一个xml文件。当他们写我希望在该文件上有文件锁定。我的第一次尝试是获取文件的文件通道并为文件建立一个lock()。但遗憾的是,如果我尝试这样做,总会出现OverlappingFileLockException,因为对于对blazeDS组件的新调用总会有一个新进程。

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

让你们所有人

1 个答案:

答案 0 :(得分:0)

我通过在静态类中使用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(); 

}