默认情况下,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  JMX connector的端口
connectorHost localhost  JMX connector和RMI server(rmiServerPort>0)的host 
rmiServerPort  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

JMX操作ActiveMQ(2)的更多相关文章

  1. JMX操作ActiveMQ(1)

    我们知道ActiveMQ broker的管理接口是通过JMX方式提供的. 一个简单的访问方式就是通过jconsole,输入 service:jmx:rmi:///jndi/rmi://localhos ...

  2. cassandra高级操作之JMX操作

    需求场景 项目中有这么个需求:统计集群中各个节点的数据量存储大小,不是记录数. 一开始有点无头绪,后面查看cassandra官方文档看到Monitoring章节,里面说到:Cassandra中的指标使 ...

  3. 消息中间件系列之Java API操作ActiveMQ

    一.依赖 <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activem ...

  4. JMX操作实例--做一回技术控

    我来做一回技术控,这部分内容也是简单的API调用例子而已,做一回技术控,发点小骚文,不过你看了,也许知道JConsole是怎么做出来的了,呵呵! 先不用管他干什么,代码运行后,自己改改自然知道做什么的 ...

  5. ActiveMQ in Action(1) - JMS

    关键字: activemq 1 JMS    在介绍ActiveMQ之前,首先简要介绍一下JMS规范.1.1 JMS的基本构件1.1.1 连接工厂    连接工厂是客户用来创建连接的对象,例如Acti ...

  6. ActiveMQ 基于zookeeper的主从(levelDB Master/Slave)搭建以及Spring-boot下使用

    0:说明 ActiveMQ 5.9.0新推出的主从实现,基于zookeeper来选举出一个master,其他节点自动作为slave实时同步消息.因为有实时同步数据的slave的存在,master不用担 ...

  7. ActiveMQ (一):安装启动及测试

    1. 预备知识 1.1 JMS JMS(Java Messaging Service)是Java平台上有关面向消息中间件(MOM)的技术规范.<百科> 1.2 JMX JMX(Java M ...

  8. activemq用户手册

    1 JMS 在介绍ActiveMQ之前,首先简要介绍一下JMS规范. 1.1 JMS的基本构件 1.1.1 连接工厂 连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQCon ...

  9. 转--activemq的官方中文文档

    1 JMS 在介绍ActiveMQ之前,首先简要介绍一下JMS规范. 1.1 JMS的基本构件 1.1.1 连接工厂 连接工厂是客户用来创建连接的对象,例如ActiveMQ提供的ActiveMQCon ...

随机推荐

  1. Hibernat之关系的处理多对多

    第一步:编写两个pojo,比如一个学生表一个课程表  这里使用注解. 需要 课程表: package com.qcf.pox; import java.util.HashSet; import jav ...

  2. springMVC 获取本地项目路径 及后整理上传文件的方法

    String path=request.getSession().getServletContext().getRealPath("upload/img/product"); // ...

  3. 快速构建Windows 8风格应用23-App Bar概述及使用规范

    原文:快速构建Windows 8风格应用23-App Bar概述及使用规范 本篇博文主要介绍App Bar概述.App Bar命令组织步骤.App Bar最佳实践.   App Bar概述 Windo ...

  4. Spring IOC之容器扩展点

    一般来说,一个应用开发者不需要继承ApplicationContext实现类.取而代之的是,Spring IoC容器可以通过插入特殊的整合接口的实现来进行扩展.下面的几点将要讲述这些整合的接口. 1. ...

  5. JS中通过call方法实现继承

    原文:JS中通过call方法实现继承 讲解都写在注释里面了,有不对的地方请拍砖,谢谢! <html xmlns="http://www.w3.org/1999/xhtml"& ...

  6. avalonjs 1.3.7发布

    avalonjs 1.3.7发布 又到每个月的15号了,现在avalon已经固定在每个月的15号发布新版本.这次发布又带来许多新特性,让大家写码更加轻松,借助于“操作数据即操作DOM”的核心理念与双向 ...

  7. 批处理中set截取字符具体解释

    set截取字符具体解释  在批处理中,set的功能有点繁杂:设置变量.显示环境变量的名及值.做算术运算.等待用户的输入.字符串截取.替换字符串,是我们经常使用的命令之中的一个. 在字符串截取方面,新手 ...

  8. android JBOX2D粒子碰撞的实例,以达到特殊效果

    最近完成动画特效工作的一个发展.的效果,所以传统的三大动画无法满足咱们的需求啦(事实上这不是一个动画效果的议题.事实上有一点点游戏的感觉). 寻找一个粒子系统吧,发现JBox2D比較简单的能满足咱们 ...

  9. 在Visual Studio中Git的基本使用

    什么是Git Github : https://github.com/git Pro Git: http://git-scm.com/book Git 是一款免费的.开源的.分布式的版本控制系统.旨在 ...

  10. Django解决 'ascii' codec can't encode characters in position

    问题: 文件上传可以上传英文,无法上传中文的. 解决方法:对Apache进行配置 在/etc/apache2/envvars文件加上: export LANG='en_US.UTF-8'export ...