`
lvmlvy
  • 浏览: 42575 次
社区版块
存档分类
最新评论

JMX监控ActiveMQ

阅读更多

一、通过JMX控制台监控

在activemq的配置文件中增加JMX配置

配置文件位置:${ActiveMQ.Base}/conf/activemq.xml

broker节点添加属性useJmx

<broker useJmx="true" brokerName="BROKER1">
...
</broker>

运行jconsole.exe,位置为${JAVA_HOME}/bin/jconsole.exe

url填写:

service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi

 二、JMXAPI开发

配置文件位置:${ActiveMQ.Base}/conf/activemq.xml

broker节点添加属性useJmx,添加managementContext节点,配置连接端口

 <broker xmlns="http://activemq.apache.org/schema/core" brokerName="localhost" dataDirectory="${activemq.data}" useJmx="true">

      <managementContext>

         <managementContext connectorPort="2011" jmxDomainName="my-broker"/>

      </managementContext>

</broker>

 

通过URLservice:jmx:rmi:///jndi/rmi://localhost:2011/jmxrmi初始化JMXConnector

通过NAMEmy-broker:BrokerName=localhost,Type=Broker获取BrokerViewMBean,可以获取Broker的相关属性,可以通过BrokerViewMBean获取QueueViewMBeanTopicViewMBean等,从而得到QueueTopic的属性。

具体实现参考JMX API

 

public static void main(String[] args) throws Exception {
		JMXServiceURL url = new JMXServiceURL(
				"service:jmx:rmi:///jndi/rmi://localhost:2011/jmxrmi");
		JMXConnector connector = JMXConnectorFactory.connect(url, null);
		connector.connect();
		MBeanServerConnection connection = connector.getMBeanServerConnection();
		ObjectName name = new ObjectName(
				"my-broker:BrokerName=localhost,Type=Broker");
		BrokerViewMBean mbean = (BrokerViewMBean) MBeanServerInvocationHandler
				.newProxyInstance(connection, name, BrokerViewMBean.class, true);
		log("**************");
		log("getBrokerId:" + mbean.getBrokerId());
		log("getBrokerName:" + mbean.getBrokerName());
		log("getTotalMessageCount:" + mbean.getTotalMessageCount());
		log("getTotalEnqueueCount:" + mbean.getTotalEnqueueCount());
		log("getTotalDequeueCount:" + mbean.getTotalDequeueCount());
		log("**************");
		log("==============");
		ObjectName[] queueNames = mbean.getQueues();
		log("getQueues count:" + queueNames.length);
		for (ObjectName queueName : queueNames) {
			
			QueueViewMBean queueMbean = (QueueViewMBean) MBeanServerInvocationHandler
					.newProxyInstance(connection, queueName,
							QueueViewMBean.class, true);
			log("------------");
			log("queueName:" + queueMbean.getName());
			log("queuesize:" + queueMbean.getQueueSize());
			log("getEnqueueCount:" + queueMbean.getEnqueueCount());
			log("getDequeueCount:" + queueMbean.getDequeueCount());
		}
		log("==============");
		log("++++++++++++++");
		ObjectName[] topicNames = mbean.getTopics();
		log("topic count:" + topicNames.length);
		for (ObjectName topicName : topicNames) {
			TopicViewMBean topicMBean = (TopicViewMBean) MBeanServerInvocationHandler
					.newProxyInstance(connection, topicName,
							TopicViewMBean.class, true);
			log("------------");
			log("topivName:"+topicMBean.getName());
			log("topivSize:"+topicMBean.getQueueSize());
			log("getEnqueueCount:"+topicMBean.getEnqueueCount());
			log("getDequeueCount:"+topicMBean.getDequeueCount());
		}
		log("++++++++++++++");

	}

 

 

 

分享到:
评论
1 楼 jian2009 2013-04-19  
你好,请问一下,怎么样在spring中配置jmx监控的访问权限,详细问题可以看下我的提问,谢谢

相关推荐

    jmx监控activeMQ监控

    activeMQ开启jmx固定rmi端口,穿透防火墙,用了一天的时间,踩了无数的坑,拿出来共享.

    java中间件之activemq

    ActiveMQ 是由 Apache 出品的一款开源消息中间件,...ActiveMQ 实现了 JMS 1.1 并提供了很多附加的特性,比如 JMX 管理、主从管理、消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化、消息队列监控等等

    javaapp:监视Java应用程序

    通过jmx监视基于Java的应用程序,例如Tomcat,JBoss,ActiveMQ。 提供有关堆内存分配,GC活动和log4j日志的图表和警报。 为PROD和devops环境提供广泛的监视和日志记录 资料下载 阅读以获取基本的App安装说明阅读以...

    Jetty中文手册

    ActiveMQ Binding JAX-WS 2.x Endpoints to Jetty Contexts Java Management Extensions (JMX) 配置JMX教程 处理JVM NIO Bug Rewrite模块 Inversion of Control and Dependency Injection Frameworks Jetty XML IOC ...

    java开源包1

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包11

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包2

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包3

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包6

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包5

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包10

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包4

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包8

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包7

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包9

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    java开源包101

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    Java资源包01

    MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...

    JAVA上百实例源码以及开源项目

    百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...

    JAVA上百实例源码以及开源项目源代码

    Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 ...

Global site tag (gtag.js) - Google Analytics