0

我浏览了“保护 JMX 连接器的密码”部分: http: //activemq.apache.org/jmx.html

我安装了ActiveMQ 5.6

在 activemq.xml 文件中,我更新了以下内容:

<managementContext>
     <managementContext createConnector="false"/>
  </managementContext>

在 bin/activemq 中,我更新了以下内容:

前:

# ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099 "
# ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password"
# ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access"
# ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote"

后:

ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099 "
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.password.file=${ACTIVEMQ_CONF}/jmx.password"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.access.file=${ACTIVEMQ_CONF}/jmx.access"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote.ssl=false"
ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Dcom.sun.management.jmxremote"

我取消了 ACTIVEMQ_SUNJMX_START 行的注释。

取消注释后,我尝试启动 ActiveMQ,但服务器从未出现。activemq.log 文件中没有显示任何内容。

当我评论它们并启动服务器时,它开始没有问题。

为了隔离问题,我取消了第一行的注释并尝试启动,它从未启动。

当我取消注释 ACTIVEMQ_SUNJMX_START 时,它似乎在期待别的东西。

我确保 jmx.password 和 jmx.access 存在于 conf 文件夹下。

如果我遗漏了什么,你能告诉我吗?

谢谢你的时间!

4

1 回答 1

0

ActiveMQ 服务器启动的原因是 jmx.password 的文件权限必须是:

chmod u=rw,go= jmx.password

我发现这个: http: //fusesource.com/docs/broker/5.5/security/JMX-AmqConnector-Authent.html

更新权限后,它工作正常。

于 2013-06-01T00:06:34.387 回答