ActiveMQ_7JMX
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的更多相关文章
随机推荐
- python http请求及多线程应用
目录 概述 tomorrow包准备 运行环境遇到的问题 其他尝试未果 概述 今天, 使用python3 模拟下发包, http get 请求, 然后 采用tomorrow 多线程. 代码如下: # c ...
- WM消息对应的Message消息中的Lparam和WParam
具体的消息表示: 1. WM_PAINT消息,LOWORD(lParam)是客户区的宽,HIWORD(lParam)是客户区的高 2. 滚动条WM_VSCROLL或WM_HSCROLL消息,LOWOR ...
- Chrome 插件安装技巧
参考http://blog.csdn.net/shiyaru1314/article/details/49303317 最近在学习WEBAPI 由于没有界面可以调试,需要安装Chrome中的插件 P ...
- Java并发编程三个性质:原子性、可见性、有序性
并发编程 并发程序要正确地执行,必须要保证其具备原子性.可见性以及有序性:只要有一个没有被保证,就有可能会导致程序运行不正确 线程不安全在编译.测试甚至上线使用时,并不一定能发现,因为受到当时的 ...
- zabbix4.0下zabbix-agentd安装
转:http://www.safecdn.cn/monitor/2018/12/zabbix4-0-zabbix-agentd-install/316.html 一 安装源和Zabbix的依赖包: 1 ...
- leetcode76
class Solution: def minWindow(self, s: str, t: str) -> str: n = len(s) if n==0: return "&quo ...
- ORM的相关操作
http://www.cnblogs.com/liwenzhou/p/8660826.html
- 工程C++基础
大家好,我是老A.今天我们要学习的是工程C++,这是一个不可描述的东西.我主要讲的是template. template的用处是装逼,所以很重要. C++配备了函数模板和类模板.函数模板就是我们平时的 ...
- T-SQL中的APPLY用法
原文出处:http://www.sqlservercentral.com/articles/Stairway+Series/121318/ 从SQL Server 2005开始,微软添加了一个新的运算 ...
- 一个linux 4.9,4.14内核的bbr带宽估计偏低问题
linux 4.9内核,bbr的带宽估计问题. 一个正常的bbr流量图: 对应的ttl图形: 一个异常的bbr流量图: 可以看出,异常的bbr流量图,出现了一个很低的带宽,且稳定在这个带宽10s左右, ...