JMX操作ActiveMQ(2)
默认情况下,ActiveMQ使用useJmx后,jmx的url为
 
service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi
这时,jmx的MBean server被绑死在localhost上,无法在broker所在机器以外的机器访问。
其实ActiveMQ提供了jmx相关的几个配置,不仅可以调整这个url中的ip和端口,还可以使用其他的MBean server。
| 属性名称 | 默认值 | 描述 | 
|---|---|---|
| useMBeanServer | true | 为true则避免创建一个MBeanServer,使用jvm中已有的MBeanServer | 
| jmxDomainName | org.apache.activemq | jmx域,所有ObjectName的前缀 | 
| createMBeanServer | true | 为true则在需要时创建一个MBeanServer | 
| createConnector | true | 为true则创建一个JMX connector | 
| connectorPort | 1099 | JMX connector的端口 | 
| connectorHost | localhost | JMX connector和RMI server(rmiServerPort>0)的host | 
| rmiServerPort | 0 | RMI server的端口(便于穿过防火墙) | 
| connectorPath | /jmxrmi | JMX connector注册的路径 | 
| findTigerMBeanServer | true | 启用或禁用查找Java 5 平台的 MBeanServer | 
1、可以通过修改connectorHost和connectorPort,修改掉url中的localhost:1099
例如本地的:
<managementContext>
            <managementContext createConnector="true" connectorHost="10.1.1.101"/>
        </managementContext>
则启动的时候显示:
INFO | JMX consoles can connect to service:jmx:rmi:///jndi/rmi://10.1.1.101:1098/jmxrmi
此时即可通过jconsole或jmx程序远程访问ActiveMQ:
 
2、也可以通过rmiServerPort指定RMI的端口,
        <managementContext>
            <managementContext createConnector="true" connectorHost="10.1.1.101" connectorPort="1098" rmiServerPort="1097"/>
        </managementContext>
控制台输出:
INFO | JMX consoles can connect to service:jmx:rmi://10.1.1.101:1097/jndi/rmi://10.1.1.101:1098/jmxrmi
此时url变成了
service:jmx:rmi://10.1.1.101:1097/jndi/rmi://10.1.1.101:1098/jmxrmi
 这样,rmi和jmx的端口都可以自己配置了。
3、通过修改jmxDomainName可以设置MBean对象的ObjectName
 
参考文档:http://activemq.apache.org/jmx.html
 
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号