`
江南白衣
  • 浏览: 550783 次
  • 来自: 广州
社区版块
存档分类
最新评论

Spring 下透明的让POJO 变为支持JMX的MBean

阅读更多

    Spring 1.2不多的几样更新之一就是对JMX的支持。
    通过简单的XML配置文件,把POJO山鸡变凤凰Export成MBean,使客户可以通过JMX Client调用POJO的方法,查看POJO的属性和状态。
    这种集成方式与Spring对Quartz的集成一样,透明、简单,很值得在Framework界提倡。

    例子在Spring自带的samples/petlinc里面,很简单。详细文档看Spring refrence文档的第18章。

    比如有一个叫MyJob的POJO,我希望输出excute()和getCallCount()函数为JMX管理:

1.ApplicationContext.xml文件的定义

<bean id="myJob" class="com.itorgan.myappfuse.job.MyJob"/>

<bean id="jmxExporter" class="org.springframework.jmx.export.MBeanExporter">
        <property name="beans">
            <map>
                <entry key="myappfuse:service=myJob" value-ref="myJob"/>
            </map>
        </property>
        <property name="assembler">
            <bean class="org.springframework.jmx.export.assembler.MethodNameBasedMBeanInfoAssembler">
                <property name="managedMethods">
                    <value>execute,getCallCount</value>
                </property>
            </bean>
        </property>
     </bean>

2.MyJob,一个最普通的POJO,不述。

3.使用jmx client,可以执行myJob.excute()并查看getCallCount()的结果。

PS.     我的JMX环境
1.Tomcat5.5 alpha-10
   Tomcat5.5 a10用Eclipse 3.1的JDT,终于支持使用JDK1.5语法的JSP
   修改$Tomcat_Home/bin/catalina.bat

set CATALINA_OPTS=-Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.port=8899  -Dcom.sun.management.jmxremote.ssl=false  -Dcom.sun.management.jmxremote.authenticate=false

2. Mc4j 
    我喜欢的jmx客户端,在mc4j.sf.net下载,也可以使用JDK5.0自带的。



分享到:
评论

相关推荐

    Spring2.5-Reference_zh_CN.txt

    - **消息驱动POJO**:Spring支持将普通的Java对象作为消息驱动的POJO,方便进行异步处理。 #### 八、高级特性 - **Spring与JMX**:Spring支持将Bean注册到JMX MBean Server,便于远程监控和管理。 - **Spring适配器...

    Spring in Action(第二版 中文高清版).part2

    12.4 使用JMX管理Spring Bean 12.4.1 将Spring Bean输出为MBean 12.4.2 远程访问MBean 12.4.3 处理通知 12.5 小结 第三部分 Spring客户端 第13章 处理Web请求 13.1 开始Spring MVC之旅 13.1.1 请求生命中的...

    Spring中文帮助文档

    2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 ...

    Spring API

    2.6.3. JMX 支持 2.6.4. 将Spring 应用程序上下文部署为JCA adapter 2.6.5. 计划任务 2.6.6. 对Java 5 (Tiger) 支持 2.7. 移植到Spring 2.5 2.7.1. 改变 2.8. 更新的样例应用 2.9. 改进的文档 I. 核心技术 3...

    Spring in Action(第二版 中文高清版).part1

    12.4 使用JMX管理Spring Bean 12.4.1 将Spring Bean输出为MBean 12.4.2 远程访问MBean 12.4.3 处理通知 12.5 小结 第三部分 Spring客户端 第13章 处理Web请求 13.1 开始Spring MVC之旅 13.1.1 请求生命中的...

    Spring in Action(第2版)中文版

    12.4使用jmx管理springbean 12.4.1将springbean输出为mbean 12.4.2远程访问mbean 12.4.3处理通知 12.5小结 第三部分spring客户端 第13章处理web请求 13.1开始springmvc之旅 13.1.1请求生命中的一天 13.1.2...

    Spring攻略(第二版 中文高清版).part1

    3.1 启用Spring的AspectJ注解支持 113 3.1.1 问题 113 3.1.2 解决方案 113 3.1.3 工作原理 113 3.2 用AspectJ注解声明aspect 115 3.2.1 问题 115 3.2.2 解决方案 115 3.2.3 工作原理 116 3.3 访问...

    Spring攻略(第二版 中文高清版).part2

    3.1 启用Spring的AspectJ注解支持 113 3.1.1 问题 113 3.1.2 解决方案 113 3.1.3 工作原理 113 3.2 用AspectJ注解声明aspect 115 3.2.1 问题 115 3.2.2 解决方案 115 3.2.3 工作原理 116 3.3 访问...

    吴天雄--Spring笔记.doc

    Spring以其非侵入性著称,即它允许开发者在不依赖特定框架的情况下使用Java进行开发。尽管Spring本身是轻量级的,但它的基础版本只有约2MB,但其功能却非常强大,尤其在Java EE平台上构建web应用时,需要更多的扩展...

    jboss5原理-1(module).docx

    在JBoss之前,其基于模块化的JMX内核已经相当成熟,但为了保持领先,他们希望能够集成如EJB3、JPA、Spring、Guice等不同POJO组件模型,消除它们之间的差异。 JBoss Microcontainer项目的核心目标是提供一系列特性,...

    Junit设计模式分析.pdf

    2. **直接POJO部署**:不再需要使用标准XMBean或MBean Proxy来部署服务,而是可以直接部署POJO对象。 3. **依赖注入**:支持基于IoC(Inverse of Control)的依赖注入风格,简化了组件之间的耦合。 4. **生命周期...

Global site tag (gtag.js) - Google Analytics