activemq配置jmx

配置activemq中的jmx可以用于监控activemq信息。

activemq.xml配置

修改broker属性

添加节点managementContext

<managementContext>

            <managementContext createConnector="true" connectorPort="1099" connectorPath="/jmxrmi" jmxDomainName="myDomain"/>

        </managementContext>

activemq启动项配置

ACTIVEMQ_SUNJMX_START="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false \

    -Dcom.sun.management.jmxremote.rmi.port=1099 \

    -Dcom.sun.management.jmxremote.authenticate=false \

    -Djava.rmi.server.hostname=192.168.114.129"

jconsole连接测试

java连接测试

public class QueueList {

private static String connectorPort="1099";

private static String connectorPath="/jmxrmi";

private static String jmxDomain="myDomain";

@Test

public void getQueueInfoList() throws Exception{

LocateRegistry.createRegistry(1099);

JMXServiceURL url = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://192.168.114.129:"+connectorPort+connectorPath);

JMXConnector connector = JMXConnectorFactory.connect(url);

connector.connect();

MBeanServerConnection connection = connector.getMBeanServerConnection();

ObjectName name = new ObjectName(jmxDomain+":type=Broker,brokerName=broker1");

BrokerViewMBean mBean = MBeanServerInvocationHandler.newProxyInstance(connection, name, BrokerViewMBean.class, true);

System.out.println("-----queue数:"+mBean.getQueues().length);

if(mBean != null){

for(ObjectName na: mBean.getQueues()){

QueueViewMBean qBean = MBeanServerInvocationHandler.newProxyInstance(connection, na, QueueViewMBean.class, true);

System.out.println("--------------->");

System.out.println("消息队列名称:"+qBean.getName());

System.out.println("队列中剩余的消息数:"+qBean.getQueueSize());

System.out.println("消费者数:"+qBean.getConsumerCount());

System.out.println("出队数:"+qBean.getDequeueCount());

System.out.println("入队列数:"+qBean.getEnqueueCount());

}

}

System.out.println("-----topic数:"+mBean.getTopics().length);

if(mBean != null){

for(ObjectName na: mBean.getTopics()){

QueueViewMBean qBean = MBeanServerInvocationHandler.newProxyInstance(connection, na, QueueViewMBean.class, true);

System.out.println("--------------->");

System.out.println("消息队列名称:"+qBean.getName());

System.out.println("队列中剩余的消息数:"+qBean.getQueueSize());

System.out.println("消费者数:"+qBean.getConsumerCount());

System.out.println("出队数:"+qBean.getDequeueCount());

}

}

}

}

ActiveMQ_7JMX的更多相关文章

随机推荐

  1. Hive环境的安装

    hive是什么:hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能(HQL) hive有什么用 1.通过类SQL语句快速实现简单的Map ...

  2. vue仿淘宝结账订单

    <template>  <div class="container">  <div class="checkout-title"& ...

  3. IntelliJ IDEA 构建maven多模块项目

    我们在开发中 因为项目之间需要依赖 所以会在maven创建多个项目配置依赖,这种项目结构主要应用在大型项目中,多人协作开发 1.创建一个项目 File ->NEW -> Projec 2. ...

  4. C程序设计第一次实验报告

    C程序设计实验报告 实验项目: 1.字符与ASCII码 2.运算符与表达式的运用 3.顺序结构应用程序 4.数学函数的算法描述 5.鸡兔同笼的算法描述 6.确定坐标的运算描述 姓名:王煜 实验地点:教 ...

  5. LVM逻辑卷疑问?

    创建完逻辑卷后,删除以/dev/vdb1和/dev/vdb2为基础的分区后,逻辑卷依然生效???

  6. GDI+_入门教程【一】

    GDI For VisualBasic6.0 [一]文件下载:GDI+ For VB6[一] 简单绘图实例演示百度网盘 1 '以下为作者[vIsiaswx]的教程 '(该教程发布的原地址已无法访问,此 ...

  7. java.lang.RuntimeException: Canvas: trying to draw too large(203212800bytes) bitmap.

    https://www.cnblogs.com/spring87/p/7645625.html 今天我师父发现了一个问题:在更换登录页图片后,更新版本,部分手机打开会闪退.借了一个三星手机后,查看问题 ...

  8. linux grep (linux查找关键字在php出现的次数)

    http://www.th7.cn/system/lin/201508/127681.shtml 查找CleverCode在当前目录以及子目录,所有的php出现大于0的次数. # find -type ...

  9. df -i 100%时处理方法

    晚上正在看文档的时候,运营突然打电话给我说游戏全炸了,都玩不了了: 我立马登上服务器,查看了下各服务是否正常运行,结果运行命令都报Unable to create lock file:  No spa ...

  10. as3.0 当fla里面有TLF文本的时候,加载声音会出现错误

    问题描述 1.现有制作好的mp3加载包,这个包是相对路径 2.如果fla里面没有TLF文本,可以正常运行 解题思路 1.音频的相对路径和加载TLF文本的路径不一样,fla会优先选择TLF文件,这样mp ...