2017-08-26 60 views
-6

我想制作一个像JConsole这样的应用程序。可能吗?如果是,那么需要在JVM级别完成哪些更改?我打算使用Spring-Boot。据我所知,默认情况下启用JMX。我是否需要在Spring-Boot应用程序中配置任何额外的东西以访问默认情况下公开的JMXBeans?如何制作像JConsole这样的应用程序?

这里我不想公开任何MBean,而是试图访问那些已经由JVM公开的bean。如何实现它?

回答

2

JConsole是一个JMX兼容的监视和管理应用程序。该架构非常简单。这是一个client-server architecture。客户端是远程应用程序(例如JConsole或您想要构建的应用程序),服务器是JMX代理。在你的情况下,你想建立自己的客户端,这是可能的。

我想制作一个像JConsole这样的应用程序。可能吗?

是的,这是可能的。

如果是,那么需要在JVM级别完成哪些更改?

你是什么意思在JVM级别的变化?您只需创建一个使用特定协议连接到服务器(JMX Agent)的客户端应用程序。远程方法调用(RMI)是JConsole用于连接到JMX代理的协议。如果您想使用RMI进行通信,则不必在服务器端进行任何操作。但是如果您想使用其他协议进行通信,则可以定义自己的协议适配器。

据我所知,默认情况下启用JMX。

从Java SE 6开始。但你只能在本地监控它。对于connection from a remote machine,您需要定义一个RMI端口以开始监听传入连接。

这里我不想公开任何MBean,而是试图访问那些已经由JVM公开的bean。如何实现它?

请查看此链接中的示例 - Mimicking Out-of-the-Box Management Using the JMX Remote API。它向您展示了如何创建一个连接到远程JMX代理并访问MBean的简单客户端应用程序。这应该引导你朝着正确的方向前进。

相关问题