关闭

activemq 用jmx监控时的security配置

1059人阅读 评论(0) 收藏 举报

跟上一篇文章相关 如果你按照上一篇文章的配置方法配置完后 确实已经可以通过jmx监控activemq了。但是会有如下的问题出现:


按照上篇文章的配置你在/bin/activemq中配置了

ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=11099 "

你用jmx去监控activemq的时候,会出现这种情况:当你的服务器的防火墙全开的时候,你是可以正常的监控activemq的,但是当你开启防火墙的时候,并且你把11099端口打开的时候会发现还是不能正常监控activemq,而且你telnet 11099这个端口的时候也是通的,出现这个问题的原因可以看这里:http://blog.sina.com.cn/s/blog_5dc29fcc01012c6i.html


这篇文章并没有给出在activemq中如何解决这个问题的办法,不过还是可以学习一下

下面我写一下我的解决办法:


1.在/bin/activemq中只保留

ACTIVEMQ_SUNJMX_START="$ACTIVEMQ_SUNJMX_START -Djava.rmi.server.hostname=$服务器的ip"

这句话 另外的全部还原

2.修改/conf/activemq.xml

把 managementContext 菜单项改成:

<managementContext>
            <managementContext createConnector="true" connectorPort="11099" rmiServerPort="12099">
                <property xmlns="http://www.springframework.org/schema/beans" name="environment">
                        <map xmlns="http://www.springframework.org/schema/beans">
                                <entry xmlns="http://www.springframework.org/schema/beans"
                                        key="jmx.remote.x.password.file"
                                        value="${activemq.base}/conf/jmx.password"/>
                                <entry xmlns="http://www.springframework.org/schema/beans"
                                        key="jmx.remote.x.access.file"
                                        value="${activemq.base}/conf/jmx.access"/>
                        </map>
                 </property>
            </managementContext>
        </managementContext>

两个端口一个是jmx的 一个是rmi的 

其实这就是为什么你之前开了防火墙之后连不上,因为你只是开了jmx的端口,但是你并没有开rmi的端口,如果你按照前一篇文章来配置的话,rmi的端口是随机之指定的,而且sun的jdk并没有专门的运行期属性来配置这个端口。


1
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:8688次
    • 积分:130
    • 等级:
    • 排名:千里之外
    • 原创:5篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    文章分类
    最新评论