版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
简介
JMX被用来干什么
- 监控程序运行状态,运行时修改应用程序参数,如如在不重启的情况下,修改线程池的上限。
- 监控JVM运行状态,如内存使用情况,线程状态等。
- 监控网络状态。
为什么要使用JMX
JMX技术是JAVA平台的标准化的资源管理技术,因为是标准化的,所以通用,被广泛支持,有很多现成的免费的支持程序,如jmc。并且JVM本身就采用了JMX技术,所以可以被直接监控而不需要再投资开发。
JMX体系结构
应用程序使用MBean描述要管理的资源,然后把MBean注册到MBean Server中。 JMX Agent直接管理MBean,并使他们可以被远程管理程序访问。远程管理程序连接上JMX Agent,然后就可以管理监控应用程序。
JMX Agent独立于资源,即不管是什么样的资源,只要能表示成MBean,就可以被JMX Agent管理,因此简化了JMX Agent的设计。JAVA平台提供了默认的JMX Agent实现,因此不需要用户再开发,当然后你也可以提供一个自己JMX Agent实现,然后在独立的JVM中运行。
使用JMX最大的好处是可以使用现成的、免费的、图形化的监控管理程序,如jmc。
因为JMX Agent和Remote Management都是现成的,所以用户的任务只有实现MBean,然后注册到MBean Server中即可。下面介绍MBean的实现方法,及如何注册MBean Server。
知识链
参考
- Java Platform Standard Edition 8 Documentation