我正在尝试创建跨 JVM 锁。为了做到这一点,我想java.io.FileOutputStream在远程 Linux 服务器中的某个位置创建一个位置,如下所示:some_remote_server.mybiz.com:/tmp/.lock像这样:String locStr = "???"FileOutputStream fos = new FileOutputStream(locStr)FileLock fl = fos.getChannel().tryLock()我该如何填写????
1 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
无法FileOutputStream
直接在远程位置创建。不过你有几个选择。
使用 NFS 等 Seomthing 将远程服务器上的文件系统挂载到运行 JVM 的本地文件系统上
在远程服务器上使用 HTTP API 而不是文件系统
使用像 ZooKeeper 这样的东西,这是管理分布式锁的“真正”解决方案
在数据库中使用锁,这与 ZooKeeper 类似。例如,PostgreSQL 允许您使用
SELECT FOR UPDATE
.
添加回答
举报
0/150
提交
取消