一、通过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>
通过URL:service:jmx:rmi:///jndi/rmi://localhost:2011/jmxrmi初始化JMXConnector
通过NAME:my-broker:BrokerName=localhost,Type=Broker获取BrokerViewMBean,可以获取Broker的相关属性,可以通过BrokerViewMBean获取QueueViewMBean及TopicViewMBean等,从而得到Queue及Topic的属性。
具体实现参考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("++++++++++++++"); }
相关推荐
activeMQ开启jmx固定rmi端口,穿透防火墙,用了一天的时间,踩了无数的坑,拿出来共享.
ActiveMQ 是由 Apache 出品的一款开源消息中间件,...ActiveMQ 实现了 JMS 1.1 并提供了很多附加的特性,比如 JMX 管理、主从管理、消息组通信、消息优先级、延迟接收消息、虚拟接收者、消息持久化、消息队列监控等等
通过jmx监视基于Java的应用程序,例如Tomcat,JBoss,ActiveMQ。 提供有关堆内存分配,GC活动和log4j日志的图表和警报。 为PROD和devops环境提供广泛的监视和日志记录 资料下载 阅读以获取基本的App安装说明阅读以...
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 ...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP这个Java包目标是用Java实现SIP(SIP:...
百度云盘分享 简介 笔者当初为了学习JAVA,收集了很多经典源码,源码难易程度分为初级、中级、高级等,详情看源码列表,需要的可以直接下载! 这些源码反映了那时那景笔者对未来的盲目,对代码的热情、执着,对...
Java 源码包 Applet钢琴模拟程序java源码 2个目标文件,提供基本的音乐编辑功能。编辑音乐软件的朋友,这款实例会对你有所帮助。 Calendar万年历 1个目标文件 EJB 模拟银行ATM流程及操作源代码 ...