【问题标题】:WSO2 Governance Registry lock errorWSO2 Governance Registry 锁定错误
【发布时间】:2014-01-08 15:43:31
【问题描述】:

安装 WSO2 Governance Registry 并启动它后,wso2carbon.log 出现以下错误:

TID: [0] [Greg] [2014-01-08 10:39:08,625]  WARN {java.util.prefs.FileSystemPreferences} -  Could not lock System prefs.Unix error code 0. {java.util.prefs.FileSystemPreferences}
TID: [0] [Greg] [2014-01-08 10:39:08,625]  WARN {java.util.prefs.FileSystemPreferences} -  Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock. {java.util.prefs.FileSystemPreferences}

这些错误每 30 秒重复一次。不幸的是,日志没有指定它试图锁定哪个文件。

我尝试使用find /opt/wso2 -type f -exec lsof {} \; | grep W 查找文件系统上所有带有排他锁的文件,但我找不到任何文件。我还尝试通过 WSO2 GR 源代码进行搜索,但没有找到对这个错误的引用。 WSO2 Jira (https://wso2.org/jira/browse/REGISTRY-1863) 上报告了一个错误,但这也没有帮助。

谁能指出我正确的方向或提供任何线索以获取更多信息?

【问题讨论】:

  • 出于 SEO 目的,值得一提的是,此错误有时也表现为 FileSystemPreferences Could not lock System prefs. Unix error code 0.FileSystemPreferences Couldn't flush system prefs: java.util.prefs.BackingStoreException: Couldn't get file lock.

标签: java wso2 wso2greg


【解决方案1】:

我们发现这是 Java 安装手册中的一个错误。 JVM 似乎需要对 /etc/.java/.systemPrefs 目录的写访问权限,以非 root 用户身份运行时无法访问该目录,请参阅:http://bugs.java.com/view_bug.do?bug_id=4838770

我通过将/etc/.java/.systemPrefs 目录的所有权更改为wso2:wso2 解决了这个问题

sudo chown -R wso2:wso2 /etc/.java/.systemPrefs

该文件仍可被 root 写入(因为 root 可以写入任何文件),但如果您需要多个用户能够写入该文件,您也可以使用以下方法设置文件 ACL:

sudo setfacl -R -m u:wso2:rw /etc/.java/.systemPrefs

【讨论】:

    【解决方案2】:

    或查看以下链接:

    https://groups.google.com/forum/#!topic/xnat_discussion/uOd-YyuBhCQ

    只用 root 用户设置文件一次...

    【讨论】:

    • 如果您在某处链接,请在此处提供说明,以防将来链接失效。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多