Java操作 ActiveMQ 远程监控JMX设置

本文介绍了如何通过Java操作ActiveMQ进行远程JMX监控的设置。首先在activemq.xml中启用JMX监控,然后修改managementContext节点,最后调整启动脚本,包括在Windows环境下设置SUNJMX环境变量,指定JMX端口、SSL状态以及访问文件路径。

activemq.xml设置
第一个配置:
在你下载activemq文件夹下的config中,找到activemq.xml,在broker节点增加useJmx=”true”
useJmx表示开启jmx监控
这里写图片描述

2.在managementContext节点更改

这里写图片描述

3.修改bin/文件夹中的启动脚本activemq

1,Windows

SUNJMX=-Dcom.sun.management.jmxremote.port=11099-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.password.file=%ACTIVEMQ_BASE%/conf/jmx.password \
-Dcom.sun.management.jmxremote.access.file=%ACTIVEMQ_BASE%/conf/jmx.access

Java查询ActiveMQ队列信息

public static void main(String[] args) throws IOException, MalformedObjectNameException {
        String url = "service:jmx:rmi:///jndi/rmi://localhost:11099/jmxrmi";
        JMXServiceURL urls = new JMXServiceURL(url);
        JMXConnector connector = JMXConnectorFactory.connect(urls,null);
        connector.connect();
        MBeanServerConnection conn = connector.getMBeanServerConnection();
        //这里brokerName的b要小些,大写会报错
        ObjectName name = new ObjectName("org.apache.activemq:brokerName=localhost,type=Broker");
        BrokerViewMBean mBean = (BrokerViewMBean)MBeanServerInvocationHandler.newProxyInstance(conn, name, BrokerViewMBean.class, true);
        for(ObjectName na : mBean.getQueues()){//获取点对点的队列       mBean.getTopics() 获取订阅模式的队列
            QueueViewMBean queueBean = (QueueViewMBean) 
            MBeanServerInvocationHandler.newProxyInstance(conn, na, QueueViewMBean.class, true);
            System.out.println("******************************");
            System.out.println("队列的名称:"+queueBean.getName());
            System.out.println("队列中剩余的消息数:"+queueBean.getQueueSize());
            System.out.println("消费者数:"+queueBean.getConsumerCount());
            System.out.println("出队列的数量:"+queueBean.getDequeueCount());
        }
    }

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值