【发布时间】:2012-07-24 10:07:23
【问题描述】:
我们正在使用[WatchService][1] API (JDK 7) 来跟踪在我的系统中创建的文件。到目前为止,它工作正常。我的程序跟踪在我的系统上创建的每个文件。
但是我们在使用NFS的时候会遇到麻烦(我们跟踪的目录实际上存在于局域网中的另一台计算机上)。
WatchService 不起作用。
谁能告诉我如何解决这种情况?如何设置 NFS 以支持 Java 7 WatchService API,或者谁能告诉我一个更好的库。
谢谢大家
【问题讨论】:
-
NFS 其实问题很大。这同样适用于 NFS 挂载上的 Lucene 索引。你可能在这里不走运。
-
底层文件系统不支持。 stackoverflow.com/a/4231277/184998 有没有办法强制 Watch Service 退回到轮询更改?
-
我的建议是永远不要设计或编写依赖于共享文件系统的应用程序。这些是给用户的,不是代码的。故障模式有太多需要处理的问题,正如@Michael-O 所说,NFS 是其中最成问题的一种。
标签: java filesystems java-io nfs filesystemwatcher