// JMX (Java Management Extensions) 是一个为应用程序、设备、系统等管理和服务提供标准接口的框架。
// 下面是一个简单的 JMX 示例代码,展示了如何创建一个 MBean 并将其注册到 MBeanServer 中。
import javax.management.MBeanServer;
import javax.management.ObjectName;
import java.lang.management.ManagementFactory;
public class SimpleJMXExample {
// 定义一个简单的 MBean 接口
public interface SimpleMBean {
void printHello();
}
// 实现 MBean 接口
public static class Simple implements SimpleMBean {
@Override
public void printHello() {
System.out.println("Hello from JMX!");
}
}
public static void main(String[] args) throws Exception {
// 获取平台的 MBeanServer
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
// 创建 MBean 实例
Simple simple = new Simple();
// 创建 ObjectName 实例
ObjectName name = new ObjectName("com.example:type=Simple");
// 注册 MBean 到 MBeanServer
mbs.registerMBean(simple, name);
System.out.println("JMX server started. Waiting for connections...");
// 保持程序运行以便可以连接 JMX 客户端
Thread.sleep(Long.MAX_VALUE);
}
}
SimpleMBean
是一个定义了管理操作的接口。在这个例子中,它只有一个方法 printHello()
。Simple
类实现了 SimpleMBean
接口,并提供了 printHello()
方法的具体实现。ManagementFactory.getPlatformMBeanServer()
获取平台默认的 MBeanServer
,它是管理所有 MBeans 的容器。ObjectName
是 MBean 的唯一标识符,用于在 MBeanServer
中注册和查找 MBeans。mbs.registerMBean(simple, name)
将 Simple
实例注册到 MBeanServer
中。Thread.sleep(Long.MAX_VALUE)
保持程序运行,以便可以通过 JMX 客户端(如 JConsole 或 VisualVM)连接并调用 printHello()
方法。这样,你就可以通过 JMX 客户端连接到这个程序,并调用 printHello()
方法来打印 "Hello from JMX!"。
上一篇:java代码生成
下一篇:java字符串不足位数补零
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站