JMX(Java Management Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
举个例子,在一个系统中常常会有一些配置信息,比如服务的IP地址,端口号什么的,那么如何来写这些代码呢?
1.写死在程序中,硬编码,改动时直接改动代码,重新编译发布;
2.写在配置文件中,灵活性有所增加,需要变更时,修改配置文件即可,但通常需要在宿主机器上改动并重新编译和发布程序,更主要的这种方式是对应用的直接改动;
3.使用JMX,将配置管理操作定义在MBean(JMX中定义的管理接口)中,配置、更新等管理操作可通过RMI、SNMP、HTTP等协议进行远程管理,使用JMX不直接对应用程序进行改动,而是通过定义标准的管理接口进行操作。
要完整地介绍JMX是件不太容易的事情,以下是一些参考:
http://baike.baidu.com/view/866268.htm
http://www.ibm.com/developerworks/cn/java/j-lo-jse63/index.html
http://blog.youkuaiyun.com/quqi99/article/details/4434997