JMX即Java Manager Extentin(java 管理扩展)一种动态改变javabean属性值的技术,具体应用场景可以有很多。比如使用JMX作为线上应用的开关,在做一些新老系统改造的时候
我们可以采用一个简单的开关bean来即时切换新老业务逻辑,达到实时回滚的目的。
JMX的基本结构如下图:
本地有三层,分别是instrumentatin层(资源层),用于表示资源,具体是一些Mbean。
再上一层是Agent层,是一个Mbean的容器,用于注册和管理Mbean,同时Agent可以使用各种connector和外界进行通信,动态的set容器内Mbean的属性。
再上面就是连接器层,实现了各种连接协议,如http,rmi,snmp,这层也可以称为适配器层。
远程的管理层称为Remote Manager层,这层可以有多种表现形式,比如JMX Manager,WEB
浏览器,等。远程管理层通过各种协议和相应的连接器通信,将要推送的值通过连接器推送到代理层,由代理具体完成注射动作。
从上面的架构图中,我们可以从架构倒推如何使用JMX,
1.得到一个Mbean Server
2.写一个Mbean
3.注册资源Mbean和连接器Connector到Mbean Server。
4.启动server,manager通过server访问mbean。
版权声明:本文为博主原创文章,未经博主允许不得转载。