我一直在用Java在openVMS上做一个项目。为了做到这一点,我的程序读取一个文件并调用一些SOAP服务。我像往常一样实现了log4j,这里是我的问题开始的地方。当我的程序/log4j打开我的日志文件时,就会在文件上放置一个独占锁。我们甚至不能跟踪它看里面的东西。您唯一可以查看该文件的时间是进程完成时。尽管如此,我的问题是,是否有人在VMS上做过这样的日志记录,或者是否有更好的解决方案出现在我的脑海中。
发布于 2014-02-15 12:30:47
在启动应用程序之前,即在"java“命令之前,
$ DEFINE/USER JAVA$FILE_OPEN_MODE 3
$ DEFINE/USER JAVA$FSYNC_INTERVAL 5其中,打开模式3确保文件被共享(而不是锁定),并且5秒间隔确保EOF被更新。显然,您可以将秒数更改为任何其他有用的值。较小的值可能会降低整体I/O性能。另外,请记住,这些设置会影响Java应用程序所做的所有文件操作。
这适用于1.5.0-8 (VMS编号方案),也适用于其他最新版本。
https://stackoverflow.com/questions/21789066
复制相似问题