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. 性能测试day07_性能瓶颈和分析

    其实如果之前都做的很到位的话,那么再加上APM工具(dynaTrace等),监控到非常细节,那么我们跑一个业务,我们就能完全清楚的知道每个请求的时间,也能知道请求所产生sql的时间,这样你自然而然都知 ...

  2. MySQL查询当天、本周、本月数据语句

    今天 select * from 表名 where to_days(时间字段名) = to_days(now()); 昨天 SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ...

  3. bower install的时候报错

    安装错误提示:C:\Scott>bower install bootstrap bower not-cached git://github.com/twbs/bootstrap.git#* bo ...

  4. Synchronized方法锁、对象锁、类锁区别

    synchronized,这个东西我们一般称之为”同步锁“,他在修饰代码块的时候需要传入一个引用对象作为“锁”的对象. 在修饰方法的时候,默认是当前对象作为锁的对象 在修饰类时,默认是当前类的Clas ...

  5. ElasicSearch(1)

    ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作为Apach ...

  6. python 数据分析库介绍

    1 引言 高效处理数据的python工具: 与外界进行交互: 读写各种文件格式和数据库 准备: 对数据进行清理.修整.整合.规范化.重塑.切片切换.变形等处理以便进行分析 转换: 对数据集做一些数学和 ...

  7. mybatis sql参考

    参考mybatis sql: <select id="xxx" resultType="com.xxxx.xxx.vo.xx.xx" parameterT ...

  8. 如何学习DeepLearning

    多年来,科学家们为了搞清楚神经网络的运行机制,进行了无数次实验.但关于神经网络的内在运行方式,目前还没有系统性的理论,没有具体的路线可以指引你获得更好的性能.简单地下载开源工具包直接使用并不能跑出很棒 ...

  9. jschDemo

    jsch是java的sftp实现 import com.jcraft.jsch.*; import java.io.OutputStream; public class JschStart { pub ...

  10. JS StartMove源码-简单运动框架

    这几天学习js运动应用课程时,开始接触一个小例子:“仿Flash的图片轮换播放器”,其中使用的StartMove简单运动框架我觉得挺好用的.这个源码也简单,理解其原理,自己敲即便也就熟悉了. 用的时候 ...