0

我一直在 openVMS 上使用 Java 开发一个项目。为了解决这个问题,我的程序读取了一个文件并调用了一些 SOAP 服务。我像往常一样实现了 log4j,这就是我的问题开始的地方。当我的程序/log4j 打开我的日志文件时,会在该文件上放置一个排他锁。我们甚至无法查看内容。您可以查看文件的唯一时间是该过程完成时。话虽如此,我的问题是有没有人在 VMS 上进行过类似的日志记录,或者是否有更好的解决方案浮现在脑海中,我应该看看。

4

1 回答 1

2

在启动应用程序之前,即在“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 编号方案),也适用于其他最新版本。

于 2014-02-15T12:30:47.687 回答