import sun.misc.VM;
import sun.misc.VMSupport;
import java.io.IOException;
import java.net.ServerSocket;
/**
* Created by DUDU on 2018/6/12.
*/
public class Server {
public static void main(String[] args) throws InterruptedException {
try {
// ServerSocket ss = new ServerSocket(21000);
// String addr = System.getProperty("com.sun.management.jmxremote.localConnectorAddress");
String addr = (String) VMSupport.getAgentProperties().get("com.sun.management.jmxremote.localConnectorAddress");
System.out.println("addr1:" + addr);
if (addr == null) {
// Thread.currentThread().getContextClassLoader().loadClass("");
// Class.forName("sun.management.Agent");
sun.management.Agent.premain("");
}
addr = (String) VMSupport.getAgentProperties().get("com.sun.management.jmxremote.localConnectorAddress");
System.out.println(addr);
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
Thread.sleep(50000000L);
}
}
JVM在加载sun.management.Agent后,会监听一个地址,端口随机,我测试的时候是:
service:jmx:rmi://127.0.0.1/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+FlGgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc1AAtVbmljYXN0UmVmMgAACjEwLjEuNy4yMTcAAMptncwWe1hOy/PhQ2ADAAABY/0c42+AAQB4
注意这时候的IP和端口实际是在后面加密的串里面,前面那个127.0.0.1是骗人的
所以客户端连接程序为:
JMXServiceURL jmxUrl = new JMXServiceURL("service:jmx:rmi://127.0.0.1/stub/rO0ABXNyAC5qYXZheC5tYW5hZ2VtZW50LnJlbW90ZS5ybWkuUk1JU2VydmVySW1wbF9TdHViAAAAAAAAAAICAAB4cgAaamF2YS5ybWkuc2VydmVyLlJlbW90ZVN0dWLp/tzJi+FlGgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc1AAtVbmljYXN0UmVmMgAACjEwLjEuNy4yMTcAAMptncwWe1hOy/PhQ2ADAAABY/0c42+AAQB4");
JMXConnector jmxc = JMXConnectorFactory.connect(jmxUrl);
分享到:
相关推荐
catalina-jmx-remote.jar放到tomcat/lib目录下 如果是windows版本,编辑TOMCAT_HOME/bin/catalina.bat,在开头加入下面几行: set CATALINA_OPTS=%CATALINA_OPTS% -Djava.rmi.server.hostname=JMX_HOST set CATALINA...
JMX 连接工具 Eclipse 插件, 可实现 JMX 服务端的连接
jmx测试包用于检查zabbix的监控项是否正常
socket连接测试用户端.jmx
tomcat开启远程jmx连接方式包括tomcat5 6 7 windows版本开启远程jmx连接监控
Zabbix2.0添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Java-gateway”;它是用java写的一个程序。 工作原理: zabbix_server想知道一台主机上的特定的JMX值时,它向Zabbix-Java-gateway询问,而Zabbix-...
书中提供了几个典型的例子,兼顾各种开发平台,这些例子的代码稍作修改就可以直接应用于项目开发之中,代码源文件可以从图灵网站下载。本书内容广泛且深入,同时适用于各个层次的Web应用开发人员。
Jemeter 压力测试时,需要动态获取序号或者流水号,此时可以通过beanshell 生成序号,请求报文中可以获取变量,生成需要的序列号
压缩包里有:http_sample.jmx,JMeterPlugins-Extras.jar,JMeterPlugins-Standard.jar,ServerAgent-2.2.1.zip 1:安装Java8环境 2:安装apache-jmeter-3.1 ...5:启动Jmeter,修改jmx的配置,运行脚本。
《jmx技术介绍》配套源代码 示例代码多而又简单清晰
本文档主要介绍了jmx连接T远程监控tomcat的详细配置,文档包含了一些配置的详细图片和需要注意的内容
使用RMI远程连接JVM.用JMX获取JVM的参数.
性能测试.jmx
分布式测试.jmx
springcloud混沌测试-demo.jmx
JMX以RMI方式连接的场景示例,从“服务器A远程获取服务器B的历史IP访问记录”这一场景出发,将JMX框架的各层简单的串了一遍。其中包括了MBean、Agent、Client每个层的详细代码和说明
使用Jmeter做接口性能测试的一个简易Demo
TongWeb常见问题处理,用于运维的问题处理,便于解决应用部署时遇到的各种问题...
jmx快速上手 jmx快速上手 jmx快速上手 jmx快速上手
为什么JMX那么受欢迎,JMX到底有那些优势只得人们去学习和理解,本文从JMX的基本架构、hellowold jmx以及spring对JMX的支持讲起,希望大家能通过本文对JMX有个基础的认识,并能通过本文为今后学习JMX打个基础