扩大Spring的JMX支持[Java编程]
本文“扩大Spring的JMX支持[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
Spring 框架将体系构造依靠性降至最低,并且将利用程序中得构成部份举行了具体化,但是利用程序仍旧是需求管理的.幸运的是,Spring 1.2 包含高级的 JMX 集成支持,并且 JMX 为利用程序供应了一种实用的管理底子架构.在本文中,Claude Duguay 从 Spring JMX 更进一步,向您展示了如作甚办法和属性透明地增添告诉事件.最后得到的代码使您可以监督状况改变,同时不会搞乱 Java? 对象.
固然 Spring 框架的 JMX 管理底子架构的默许配置已经很不错了,但是仍旧有定制的余地,分外是触及 Model MBean 供应的更高层功效时.在本文中,我利用了一种相对简单的操作 —— 为基于 Spring 的利用程序的办法和属性增添告诉事件 —— 以帮忙您熟习对 Spring JMX 的定制.重新到尾完成我的例子后,您将可以按照自己利用程序的需求调整 Spring JMX 管理底子架构.
我首先对 JMX API、Spring 框架和 Spring JMX 举行简单回想,然后转入开辟扩大.第一个扩大让我可以用一个外部 XML 格局配置 MBean 元数据,这个格局(像 Hibernate 映射文件)可以与 Java 对象一同存储在类途径中.我的第二个扩大为 ModelMBean 类增添一个简单的命名标准,以透明地配置定制的告诉消息.在属性改变时大概调用了特定的办法之前大概之后触发新的告诉消息.
文章的最后是一个基于 mockup 服务对象的实际例子,需求管理它的启动和终止办法和读写属性.我用一个专门为此计划的小型客户机/服务器利用程序测试了这个实现.利用服务器是一个尺度 Java 5.0 MBeanServer,并增补了源自 MX4J 开放源码项目的 HTTP 适配器.
JMX 概述
Java Management Extensions(JMX)是管理和监督网络上的服务的、基于 Java 的尺度.JMX API 的核心是受管 bean,即 MBean.MBean 为受管资源(如利用程序、服务和设备)供应了设备层.简而言之,MBean 供应了一种机动的、基于适配器的体系构造,用于开放基于 Java 的(大概 Java 包装的)资源的属性和操作.开放后,便可以用浏览器和 HTTP 衔接大概通过像 SMTP 大概 SOAP 这样的协议监督和管理这些资源.
编写和布置的 MBean 是通过 MBeanServer 接口开放的,以使差别的利用程序视图具有交互性.MBeanServer 实例还可以结合到肆意的结合关系中,构成更复杂的分布式环境.
JMX 尺度供应了四种差别的 MBean: Standard MBean 直接实现用于管理对象的办法,既可以通过实现一个由程序员定义的、类名以 “MBean” 完毕的接口,也可以利用一个以一个类作为构造函数参数的 Standard MBean 实例,加上一个可选的接口类标准.这个接口可以开放用于管理的部份对象办法.
Dynamic MBean 用属性拜候器动态地拜候属性,并用一个普通化的 invoke() 办法调用办法.可用的办法是在 MBeanInfo 接口中指定的.这种方法更机动,但是不具有像 Standard MBean 那样的范例安全性.它极大地降低了耦合性,可管理的 POJO(纯粹的老式 Java 对象)不需求实现特定的接口.
Model MBean 供应了一个改良的抽象层,并扩大了 Dynamic MBean 模子以进一步削减对给定实现的依靠性.这关于大概利用多个版本的 JVM 大概需求用疏松耦合管理第三方类的情形会有帮忙.Dynamic MBean 与 Model MBean 之间的主要辨别是,在 Model MBean 中有额外的元数据.
Open MBean 是受限的 Model MBean,它限制范例为固定的一组范例,以得到最大的可移植性.通过限制数据范例,可以利用更多的适配器,并且像 SMTP 这样的技术可以更简单适应 Java 利用程序的管理.这种变体还指定了数组和表等尺度构造以改良复合对象的管理.
假如要同时掌握客户机和服务器,那么 Standard MBean 是最简单实现的一种变体.它们的长处是有范例,但是假如在更普通化的管理掌握台环境中利用时会贫乏一些机动性.假如筹划利用 Dynamic MBean,那么您也可以更一步利用 Model MBean,在大大都情形下它会改进抽象层而几近不会增添复杂性.Open MBean 是是可移植性最高的一种变体,假如需求开放复合对象,那么它是惟一的办法.不幸的是,在 Open MBean 中开放复合构造所需求的代码数目过量,只有在需求高级的商业管理办理筹划时才合算.
JMX 还支持利用带过滤器和广播器的事件模子的告诉.为此目的,Standard MBean 需求声明一个 MBeanInfo 元数据描写. Standard MBean 实现普通在内部构造这些内容,开辟人员不能直接看到它们.在本文背面,您会看到若何用 Model MBean 元数据的 XML 描写符格局和 Spring 的 JMX 支持举行实际上透明的配置.
以上是“扩大Spring的JMX支持[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |