我想做一个像JConsole这样的应用程序。可能吗?如果是,需要在 JVM 级别执行哪些更改?我打算使用Spring-Boot。据我所知,JMX默认处于启用状态。我是否需要在我的 Spring-Boot 应用程序中配置任何额外的内容才能访问默认公开的 JMXBeans?
在这里,我不是要公开任何MBean,而是要尝试访问JVM已经公开的那些豆子。如何实现?
> JConsole 是一个符合 JMX 标准的监控和管理应用程序。架构非常简单。这是一个客户端-服务器体系结构。其中客户端是远程应用程序(例如 JConsole 或您要构建的应用程序(,服务器是 JMX 代理。在您的情况下,您希望构建自己的客户端,这是可能的。
我想做一个像JConsole这样的应用程序。可能吗?
是的,这是可能的。
如果是,需要在 JVM 级别执行哪些更改?
JVM级别的更改是什么意思?您只需创建一个使用特定协议连接到服务器(JMX 代理(的客户端应用程序。远程方法调用(RMI(是JConsole用于连接到JMX代理的协议。如果要使用 RMI 进行通信,则无需在服务器端执行任何操作。但是,如果要使用其他协议进行通信,则可以定义自己的协议适配器。
据我所知,JMX默认处于启用状态。
从Java SE 6开始。但是您只能在本地监视它。对于来自远程计算机的连接,您需要定义一个 RMI 端口以开始侦听传入连接。
在这里,我不是要公开任何MBean,而是要尝试访问JVM已经公开的那些豆子。如何实现?
请查看此链接中的示例 - 使用 JMX 远程 API 模拟开箱即用的管理。它向您展示如何创建连接到远程 JMX 代理并访问 MBean 的简单客户端应用程序。这应该引导您朝着正确的方向前进。