【发布时间】:2015-02-24 23:15:08
【问题描述】:
看来 java 8 改变了锁文件的处理方式,导致我积累了很多 .lck 文件。
我想通过在我的应用程序中添加一些代码来解决这个问题,以便在每次运行时清理我的输出目录中的锁定文件。但是,Java 不会保持此文件处于打开状态,这意味着如果我打开我的应用程序的第二个实例(常见用例),那么这将导致它删除锁定文件并在尝试重新使用与另一个相同的日志文件时立即挂起实例。
有没有人以更优雅的方式缓解这种情况?
确认这是至少 8u25 中的错误。 oracle 8u40 JRE 中的不良行为消失了。
【问题讨论】:
-
没有锁文件这样的“文件类型”。
.lck只是一个文件扩展名,仅此而已。那是哪个操作系统?它与日志记录有什么关系? -
你的意思是
log file吗? -
.lck 文件被 java logging api 用来显示日志文件当前正在被 java 进程使用(至少在 windows 上)
标签: java java-8 java.util.logging