我已经从 JBoss EAP 6.2.0GA 升级到 6.3.0GA,在将 ActiveMQ 作为嵌入式模块安装后遇到了这个问题。相同的配置在我的 Windows 计算机上运行,所以我相信这是某种 CentOS 权限问题。
INFO [org.apache.activemq.store.SharedFileLocker] (Starting ActiveMQ Broker) Database activemq-data/kahadb/lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOException: Failed to create directory 'activemq-data/kahadb'
请注意,写入日志或任何内容都没有问题。就是这个该死的activemq相关权限。
仅当我将其作为服务运行时才会出现此问题。 IE。 服务 jboss-as 开始
如果我运行 bin/standalone.sh & 它工作正常。
我现在已经将与 JBoss 相关的所有内容的所有权授予 jboss.jboss 用户,所有内容的 chmod 为 755。 (有很多关于 jboss:jboss 或 jboss.jboss 的令人困惑的信息来引用 jboss 组中的用户。但两者都不起作用。)
chown -fR jboss.jboss /usr/share/jboss-eap-6.3/
chown jboss.jboss /usr/share/jboss-as
chown jboss.jboss /etc/init.d/jboss-as
chown jboss.jboss /etc/jboss-as/jboss-as.conf
我已经做了
ln -s -T /usr/share/jboss-eap-6.3 /usr/share/jboss-as
ln -s -T /usr/share/jboss-eap-6.3/bin/init.d/jboss-as-standalone.sh /etc/init.d/jboss-as
ln -s -T /usr/share/jboss-eap-6.3/bin/init.d/jboss-as.conf /etc/jboss-as/jboss-as.conf
我的 mgmt-groups.properties 有:
jboss=jboss, admin, SuperUser
并不是说我特别了解这有什么帮助。
我的 mgmt-users.properties 有:
jboss=6ca43af9943e59f1563a1ff04472a8f9
暗示 add-user.sh 做了一些事情。
我没有针对安全或权限编辑 standalone.xml。
grep 'jboss' /etc/group
显示:
jboss:x:502:
有人吗?
最佳答案
好的,通过打开 DEBUG 日志并单步执行来解决。
不同之处在于,当您启动服务 X 时,它会从/etc/rc.d/init.d/目录运行它,而不是当您直接启动它时,它会从/bin/目录运行它.
[org.apache.activemq.broker.BrokerService] (Starting ActiveMQ Broker) Using Persistence Adapter: KahaDBPersistenceAdapter[/etc/rc.d/init.d/activemq-data/kahadb]
ESC[0mESC[0m13:31:46,998 INFO [org.apache.activemq.store.SharedFileLocker] (Starting ActiveMQ Broker) Database activemq-data/kahadb/lock is locked... waiting 10 seconds for the database to be unlocked. Reason: java.io.IOException: Failed to create directory 'activemq-data/kahadb'
所以这有效:
chown -R jboss.jboss /etc/rc.d/init.d/
chmod -R 755 /etc/rc.d/init.d/
关于linux - JBoss 用户权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25771094/