setLastModified不在NFS共享上工作

时间:2011-02-02 11:45:56

标签: java nfs solaris-10 nfsclient

我在我的一台Solaris服务器上安装了NFS共享。路径 / appdata / anp 从服务器A挂载到服务器B.在共享下:

/appdata/anp

我有一个名为

的文件夹

/appdata/anp/factory

在上面的目录中,我将具有需要导入/更新的数据的文件放在数据库中。在数据库中导入数据后,我根据导入数据的运算结果将文件移动到成功/失败目录。

/appdata/anp/factory/success

/appdata/anp/factory/failure

我将文件移动到上述任一目录,并使用以下命令将文件的上次修改时间更新为当前系统时间:

file.setLastModified

返回一个布尔值。问题是每当我进行此更新操作时,它无法将该文件的时间戳更新为当前系统时间。

有谁知道

的场景是什么

file.setLastModified

返回失败。我甚至检查了NFS权限,一切似乎都没问题。反正知道 setLastModified 可能导致失败的情况吗?

请帮帮我,我真的在拉这个! :(

1 个答案:

答案 0 :(得分:1)

我在Unix文件系统上遇到过类似的问题。在我的情况下,这是因为unix截断了最后修改的毫秒并将最后修改的设置为:

System.currentTimeMillis() - System.currentTimeMillis()%1000

它影响了一个测试用例,它正在操作一个文件,然后通过file.lastModified()检查更新。我只是在我的测试用例中更新文件之前添加了Thread.sleep(1100)并且所有文件都已解决。

希望能帮助下一个人。