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);
分享到:
相关推荐
标签"测试"表明这个压缩包包含的`cmdline-jmxclient-0.10.3.jar`可能是一个命令行工具,用于测试Zabbix与目标Java应用之间的JMX连接和数据交换。`cmdline-jmxclient`可能是一个轻量级的JMX客户端,允许用户从命令行...
Eclipse 插件"JMX 连接工具"为开发者提供了一个便捷的途径,通过集成的开发环境来连接并管理JMX服务端,从而实现远程或本地的应用程序监控。 首先,JMX客户端连接信息是理解如何与JMX服务端建立通信的关键。JMX...
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...
使用JDK自带的jconsole插件,我们可以连接到tomcat,测试jmx远程监控是否成功。如果连接不成功,请检查Linux环境下/etc/hosts文件,将内的IP更改为Linux主机的IP,然后保存,重启机器,再次启动tomcat,使用jconsole...
socket连接测试用户端.jmx
本文将深入探讨如何利用RMI远程连接到Java虚拟机(JVM),并通过JMX获取JVM的相关参数。 RMI是Java提供的一种机制,允许在不同JVM之间透明地调用对象的方法,就像这些对象都在同一台机器上一样。RMI的核心组件包括...
《JMX技术介绍》一书显然是为了深入探讨这一技术而编写的,配套源代码则提供了实践示例,帮助读者更好地理解和应用JMX。 1. JMX架构: JMX架构由管理代理(MBeans)、服务提供者接口(MBean Server)和管理客户端...
1. **JConsole工具**:Java提供了一个内置的JMX客户端——JConsole,它可以通过VM参数`-Dcom.sun.management.jmxremote`启动,然后通过JMX连接到指定的Java进程。JConsole提供了图形化的界面,用于查看和修改MBean的...
完成上述配置后,就可以使用之前获取的 JMX URL 来连接 TongWeb7 的 JMX 服务,例如 `service:jmx:rmi:///jndi/rmi://192.168.163.99:7200/jmxrmi`。你可以使用 Java 提供的 `jconsole` 工具,或者其他支持 JMX 的第...
JMX以RMI方式连接的场景示例 JMX(Java Management Extensions)是一种Java技术,用于管理和监控应用程序。JMX框架主要由三部分组成:MBean(Managed Bean)、Agent(代理)和Client(客户端)。在本场景中,我们将...
**Tomcat开启远程JMX连接方式详解** Java Management Extensions (JMX) 是Java平台提供的一种标准管理框架,它允许开发者创建、管理和监控应用程序的各种资源,包括服务器、应用程序、设备和服务。在Tomcat这样的...
书中提供了几个典型的例子,兼顾各种开发平台,这些例子的代码稍作修改就可以直接应用于项目开发之中,代码源文件可以从图灵网站下载。本书内容广泛且深入,同时适用于各个层次的Web应用开发人员。
VisualVM是Java开发人员的得力助手,它集成了JMX功能,能够显示关于Java进程的各种详细信息,如CPU使用率、内存消耗、线程状态、类加载情况等。通过JMX,VisualVM可以连接到远程运行的Java应用,实时监控其性能和...
Jemeter 压力测试时,需要动态获取序号或者流水号,此时可以通过beanshell 生成序号,请求报文中可以获取变量,生成需要的序列号
2. 身份验证:通过对 JMX Agent 进行身份验证,可以确保只有授权用户可以连接到 JMX Agent。例如,我们可以使用用户名和密码来对 JMX Agent 进行身份验证。 3. 访问控制:通过对 JMX Agent 的访问控制,我们可以限制...
5. **JMX连接器**:`jmxdemo`可能包含了JMX连接器的配置,如RMI连接器,允许远程客户端连接到MBean服务器进行管理操作。 6. **客户端示例**:项目可能还包含一个简单的客户端示例,展示了如何使用JMX API连接到...
压缩包里有: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中,工厂模式经常被用来根据特定参数动态地创建MBeans。这个文件可能包含了创建特定类型MBean的逻辑,以及将它们注册到MBeanServer的过程。MBeanServer是JMX框架的核心,它负责管理MBeans、处理查询以及执行...
4. **客户端代码**:可能包含用于连接到JMX服务器并操作MBeans的代码,这可以是另一个Java程序或使用图形工具如JConsole。 5. **测试脚本**:如果`jmxtest`包含了测试用例,那么它可能包含了JUnit或其他测试框架的...
客户端配置主要包括两部分:连接到JMX服务器的工具和配置连接参数。常用的JMX客户端工具有JConsole、VisualVM等,它们是Java SDK自带的。 - **JConsole**: 运行`jconsole`命令,选择"本地进程"或"远程进程",输入...