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