当前位置:编程学习 > JAVA >>

JMX远程连不上ActiveMQ

现在要用JMX来远程地监控与操作ActiveMQ,不过, 悲催的是, 第一步就有问题了, 远程的ActiveMQ连不上。 

Google加Baidu了半天,看到的方法都试过了,还是不行。

郁闷。

现在静下心来回顾下JMX远程连接ActiveMQ的思路。 JMX连接有两种方式:

1,普通端口号(非jmxrmi)方式。

在默认脚本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"


客户端这边是直接通过jconsole方式连接的,没有用Java代码连接。 如下所示:




这里的用户名密码是admin/activemq。  应该不是用户名密码用错了吧?

jconsole上直接报“连接失败”错误。




2, jmxrmi方式。

在默认脚本activemq基础上只改了下面的内容,其它的没动:
ACTIVEMQ_SUNJMX_CONTROL="--jmxurl service:jmx:rmi:///jndi/rmi://127.0.0.1:1099/jmxrmi --jmxuser controlRole --jmxpassword abcd1234"
#ACTIVEMQ_SUNJMX_CONTROL=""



   /etc/hosts文件中新加了“127.0.0.1   192.168.40.50”, 这里的192.168.40.50是远程服务器的IP。
      这时用java代码连接, 代码如下:
       
        RemoteJMXBrokerFacade createConnector = new RemoteJMXBrokerFacade();

        System.setProperty("webconsole.jmx.url", "service:jmx:rmi:///jndi/rmi://192.168.40.50:1099/jmxrmi");
        System.setProperty("webconsole.jmx.user","controlRole");
        System.setProperty("webconsole.jmx.password","abcd1234");

        SystemPropertiesConfiguration configuration = new SystemPropertiesConfiguration();
        createConnector.setConfiguration(configuration);
        try {
            BrokerViewMBean brokerAdmin = createConnector.getBrokerAdmin();

  Java运行时报这样的异常: 
     java.lang.RuntimeException: java.rmi.ConnectException: Connection refused to host: 192.168.40.50; nested exception is:
  

剩下的试了不少方法, 类似的有http://blog.csdn.net/lucett/article/details/7024756, 但都不行。 

于是, 不想再瞎试了, 想系统地研究下JMX远程连接ActiveMQ的事。 

请问谁哪有JMX远程连接ActiveMQ的时序图?或相关的材料?


注: 远程服务器上防火墙已经不再拦截端口号1099。




--------------------编程问答-------------------- 这里边涉及到的概念有: hostname, sub, 

这些天JMX远程连ActiveMQ时有什么用? 

能不能系统地解释下? --------------------编程问答-------------------- 连本地的ActiveMQ一点事也没有。 

悲催~~~ --------------------编程问答-------------------- jmx MBeanserver启动的时候就绑死了localhost
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,