java activemq jmx_通过JMX 获取Activemq 队列信息
首先在 activemq.xml 中新增以下属性
在broker 节点新增属性 useJmx="true"
在managementContext 节点配置断开与访问服务iP
配置成功后启动
下面来看测试代码
/**
* @Title: ActivemqTest.java
* @Package activemq
* @Description: TODO(用一句话描述该文件做什么)
* @author LYL
* @date 下午2:25:59
* @version V1.0
*/
package activemq;
import java.io.IOException;
import java.net.MalformedURLException;
import java.util.HashMap;
import java.util.Map;
import javax.management.MBeanServerConnection;
import javax.management.MBeanServerInvocationHandler;
import javax.management.ObjectName;
import javax.management.remote.JMXConnector;
import javax.management.remote.JMXConnectorFactory;
import javax.management.remote.JMXServiceURL;
import org.apache.activemq.broker.jmx.BrokerViewMBean;
import org.apache.activemq.broker.jmx.QueueViewMBean;
/**
* @Title: ActivemqTest.java
* @Package activemq
* @Description: TODO(用一句话描述该文件做什么)
* @author LYL
* @date 下午2:25:59
* @version V1.0
*/
public class ActivemqTest {
public static void main(String[] args) throws Exception {
String ip = "127.0.0.1:8188";
String url = String.format("service:jmx:rmi:///jndi/rmi://%s/jmxrmi",ip);
Map credentials = new HashMap<>();
// credentials.put(JMXConnector.CREDENTIALS, new String[] {"admin", "admin"});
JMXServiceURL urls = new JMXServiceURL(url);
JMXConnector connector = JMXConnectorFactory.connect(urls,credentials);
connector.connect();
MBeanServerConnection conn = connector.getMBeanServerConnection();
ObjectName name = new ObjectName("org.apache.activemq:brokerName=localhost,type=Broker");
BrokerViewMBean mBean = (BrokerViewMBean)MBeanServerInvocationHandler.newProxyInstance(conn, name, BrokerViewMBean.class, true);
ObjectName[] pAry = mBean.getQueueSubscribers();
for (ObjectName objectName : pAry) {
}
ObjectName[] ary = mBean.getQueues();
for (ObjectName objectName : ary) {
QueueViewMBean queueBean = (QueueViewMBean) MBeanServerInvocationHandler.newProxyInstance(conn, objectName, QueueViewMBean.class, true);
System.out.println("队列的名称:"+queueBean.getName());
System.out.println("消息积压数:"+queueBean.getQueueSize());
System.out.println("入队:"+queueBean.getEnqueueCount());
System.out.println("出队:"+queueBean.getDequeueCount());
System.out.println("消费者数:"+queueBean.getConsumerCount());
System.out.println("生产者数:"+queueBean.getProducerCount());
}
}
}
java activemq jmx_通过JMX 获取Activemq 队列信息相关推荐
- Java知识点总结(反射-获取类的信息)
Java知识点总结(反射-获取类的信息) @(Java知识点总结)[Java, 反射] 应用反射的API,获取类的信息(类的名字.属性.方法.构造器等) import java.lang.reflec ...
- Java微信授权小程序获取用户手机号信息
注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体).需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限. 官网地址如下: https: ...
- java mediainfo.dll_用MediaInfo获取音视频信息
usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingMediaInfoNET;name ...
- linux查看java堆栈信息_Java运行状态分析2:获取线程堆栈信息
Java运行状态分析2:获取线程堆栈信息 基本概念 出现内存泄漏或者运行缓慢场景,有时候无法直接从业务日志看出问题时候,需要分析jvm内存和线程堆栈 线程堆栈信息主要记录jvm线程在某时刻线程执行情况 ...
- activemq专栏之jmx代理不安全?
线上服务器等保测试爆出系统问题--Java JMX代理不安全配置,一时间摸不到头脑.直到联系到了该问题的检测结构道出了其检测机理. 文章目录 一.检测机理 二.问题定位方法总结 1.找出占用端口的进程 ...
- activemq安装与配置_ActiveMQ(消息队列)从入门到了解
一. ActiveMQ 简介 1 什么是 ActiveMQ ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线.ActiveMQ 是一个 完全支持 JMS1.1 和 J2EE ...
- JMX操作ActiveMQ(2)
默认情况下,ActiveMQ使用useJmx后,jmx的url为 service:jmx:rmi:///jndi/rmi://localhost:1099/jmxrmi 这时,jmx的MBean se ...
- java订阅发布模式_Spring Boot ActiveMQ发布/订阅消息模式原理解析
本文在<Spring Boot基于Active MQ实现整合JMS>的基础上,介绍如何使用ActiveMQ的发布/订阅消息模式.发布/订阅消息模式是消息发送者发送消息到主题(topic), ...
- 日常记录:java JMX获取MBean从而获取目标应用的pid
前言 之前做的小功能jar管理应用,启动.停止,尤其停止需要用pid来停止应用,现在说下怎么获取. 当然,不需要记录pid也能停止应用,可以通过命令找到应用对应的pid,不过记录下来比较方便,后续还用 ...
最新文章
- python【蓝桥杯vip练习题库】ADV-136大数加法(高精度加法)
- 设计模式五: 原型模式(Prototype)
- python-字母与ascii码的转换-利用数字转字母-利用字母转数字
- ERROR:The requested URL could not be retrieved解决方法
- ngx-bootstrap使用04 carousel组件
- Web App:赌的就是互联网未来并 非无可挑剔
- SpringBoot集成JWT 实现接口权限认证
- OBS Studio录屏软件安装和使用教程
- PROFINET通信基础知识
- Django 开发文档
- 三维提取等值面的重建方法Marching Cubes
- 【UEFI实战】UEFI中使用汇编代码
- linux怎么sftp传文件,如何使用Linux SFTP命令传输文件
- 20230103编译ToyBrick的TB-RK3588X的Andorid12的LOG01
- ds18B20_verilog
- Unable to add window——token android.os.BinderProxy@196e65b8 is not valid;is your activit is running?
- mysql5.7.28数据降级兼容mysql5.6.46
- 千亿级平台技术架构:为了支撑高并发,我把身份证存到了JS里
- COMP252, Winter 2022. Jan 13, 2022. Due Jan 20, 2022, 4pm.
- 由 serverAdd.sin_addr.s_addr 引发的思考
热门文章
- Windows7 + Nginx + Memcached + Tomcat 集群 session 共享
- error C2440 “static_cast” 无法从“void (__thiscall CPppView )(void)”转换为“LRESULT (__thiscall
- 前复权后复权程序C# .net
- 【转】SASS用法指南
- 为什么要用Redis
- BeanShell自动装箱拆箱
- 《低功耗蓝牙开发权威指南》——第3章低功耗蓝牙的体系结构
- 14-angular.isDefined
- 关于img 403 forbidden的一些思考
- windows清理剪切板