WSO2 Governance Registry 锁定错误
安装 WSO2 Governance Registry 并启动它后,我在 wso2carbon.log
中收到以下错误:
After installation of WSO2 Governance Registry and starting it I get the following errors in 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 秒重复一次.不幸的是,日志没有指定它试图锁定哪个文件.
These errors get repeated every 30s. Unfortunately the log does not specify which file it's trying to lock.
我尝试使用 find/opt/wso2 -type f -exec lsof {} ; 查找文件系统上的所有文件,并对其进行排他锁.|grep W
但我找不到任何东西.我还尝试通过 WSO2 GR 源代码进行搜索,但没有找到对这个错误的引用.WSO2 Jira 上报告了一个错误 (https://wso2.org/jira/browse/REGISTRY-1863),但这也无济于事.
I tried finding all files on the filesystem with exclusive locks on them using find /opt/wso2 -type f -exec lsof {} ; | grep W
but I couldn't find any. Also I tried grepping through the WSO2 GR source code, but no where I could find a reference to this error. There is a bug reported on the WSO2 Jira (https://wso2.org/jira/browse/REGISTRY-1863), but that wasn't helpful either.
谁能指出我正确的方向或提供任何线索以获取更多信息?
Can anyone point me in the right direction or give any clues as to where to get more information?
推荐答案
我们发现这是Java安装手册中的一个bug.JVM 似乎需要对 /etc/.java/.systemPrefs
目录的写访问权限,以非 root 用户身份运行时无法访问该目录,请参阅:http://bugs.java.com/view_bug.do?bug_id=4838770
We found that this is a bug in the Java installation manual. It seems the JVM needs write access to the /etc/.java/.systemPrefs
directory, which it cannot access when run as a non-root user, see: http://bugs.java.com/view_bug.do?bug_id=4838770
我通过使用
sudo chown -R wso2:wso2 /etc/.java/.systemPrefs
该文件仍然可以由 root 写入(因为 root 可以写入任何文件),但如果您需要多个用户能够写入该文件,您也可以使用以下方法设置文件 ACL:
The file will still be writable by root (as root can write to any file), but if you need multiple users to be able to write to this file you might set up a file ACL as well using:
sudo setfacl -R -m u:wso2:rw /etc/.java/.systemPrefs
相关文章