Windows 2008上的Java日志文件解析器无法使用File.lastModified

时间:2013-09-16 11:18:59

标签: java log4j windows-server-2008-r2

我们正在使用一个用Java编写的简单日志文件解析器。日志文件使用log4j.properties编写。解析器依赖File.lastModified()来选择目录中的文件列表,以检查文件中是否存在任何错误。

这是工作文件,直到我们转移到Windows 2008.在谷歌搜索后,我发现file-date-modified-property-are-not-updating-while-modifying-a-file-without-closing-it解释了行为。

到目前为止,我无法找到解决此问题的任何方法。我的替代选项是每次轮询器检查文件时存储文件大小,并将当前文件大小与先前存储的值进行比较。

有人可以提出一个更简单的想法吗?

1 个答案:

答案 0 :(得分:0)

如果他们遇到同样的问题,请将其放在此处通知他人。在我的情况下,它发现了一个代码问题,其中文件的句柄没有正确关闭。我使用Process Explorer查看文件的任何不需要的打开句柄。