Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java setLastModified不在NFS共享上工作_Java_Nfs_Solaris 10_Nfsclient - Fatal编程技术网

Java setLastModified不在NFS共享上工作

Java setLastModified不在NFS共享上工作,java,nfs,solaris-10,nfsclient,Java,Nfs,Solaris 10,Nfsclient,我在一台Solaris服务器上安装了NFS共享。路径/appdata/anp从服务器A装载到服务器B。在共享下: /appdata/anp 我有一个名为 /appdata/anp/factory 在上面的目录中,我将包含需要导入/更新的数据的文件放在数据库中。在数据库中导入数据后,我根据导入数据的操作结果将文件移动到success/failure目录 /appdata/anp/factory/success /appdata/anp/factory/failure 我将文件移动到上述任一目录,并

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

/appdata/anp

我有一个名为

/appdata/anp/factory

在上面的目录中,我将包含需要导入/更新的数据的文件放在数据库中。在数据库中导入数据后,我根据导入数据的操作结果将文件移动到success/failure目录

/appdata/anp/factory/success

/appdata/anp/factory/failure

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

file.setLastModified

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

有人知道其中的场景是什么吗

file.setLastModified

返回失败。我甚至检查了NFS权限,我觉得一切正常。是否知道setLastModified可能返回失败的情况


请帮帮我,这件事我真的很紧张!!:(

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

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

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


希望这对下一个人有所帮助。

对于所有来到本文并阅读本文的人来说,这个API似乎在某些平台和操作系统(在我的例子中是NFS挂载)上做得不好。最后,我使用了Unix“touch”通过从Java生成系统级线程来执行此命令!感谢您的分享!!我希望它能帮助其他面临类似问题的人使用此API