默认情况下,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. Monkey源码分析之事件源

    上一篇文章<Monkey源码分析之运行流程>给出了monkey运行的整个流程,让我们有一个概貌,那么往后的文章我们会尝试进一步的阐述相关的一些知识点. 这里先把整个monkey类的结构图给 ...

  2. JAVA 代码生成。SimpleCaptcha

    去官方网站下载Jar包: http://simplecaptcha.sourceforge.net/ Javadocs: http://simplecaptcha.sourceforge.net/ja ...

  3. PHP Warning: strtotime(): It is not safe to rely on the system's timezone settings.

    有三种解决办法: 1. php文件中设置时区 <?php date_default_timezone_set('Asia/Shanghai'); echo strtotime('2012-9-3 ...

  4. A在SP.NET跨页多选

    在ASP.NET跨页多选 本文介绍怎样在ASP.NET中实现多页面选择的问题.其详细思路非常easy:用隐藏的INPUT记住每次选择的项目,在进行数据绑定时.检查保存的值,再在DataGrid中进行选 ...

  5. POJ 3380 最大流

    Paratroopers Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit ...

  6. [译]Java 设计模式之中介者

    (文章翻译自Java Design Pattern: Mediator) 中介者设计模式被用于一组的同事进行协作.这些同事不彼此进行直接的交流联系,但是是通过中介者. 在下面的例子中,A同事想去说话, ...

  7. NCache实现Oracle数据与分布式缓存数据同步的3个步骤

    多层次结构的应用程序是目前发展的趋势,这种程序都需要庞大的数据库支持.而数据传输的能力直接影响程序性能,成为程序可扩展性的瓶颈.因此很多开发者开始在程序中使用内存分布式缓存来提高程序性能. 同时,内存 ...

  8. css Cursor:url()自定义鼠标指针样式为图片

    css自定义鼠标指针样式为图片Cursor:url()的使用,今天在项目中,要用到自定义鼠标样式,格式: css:{cursor:url('绝对路径的图片(格式:cur,ico)'),-moz-zoo ...

  9. sql简单实用的统计汇总案例参考

    USE [PM]GO/****** 对象:  StoredProcedure [dbo].[LfangSatstics]    脚本日期: 08/24/2013 10:57:48 ******/SET ...

  10. Javascript多线程引擎(九)

    Javascript多线程引擎(九)--垃圾回收 垃圾回收这个话题对Programer来说是非常老旧的话题, 从手动的malloc/free 到半自动的 引用计数 再到全自动的 mark-sweep ...