Spring 1.2下让POJO 变为支持JMX的MBean

2008-02-23 09:34:18来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

Spring 1.2不多的几样更新之一就是对JMX的支持,通过XML配置文件,把POJO变成MBean。
在Samples/petlinc里面有例子,很简单。

Step 1.抽象POJO中希望被JMX管理的函数成接口
比如有一个叫MyJob的POJO,我希望输出excute()和getCallCount()函数为JMX管理,遂建立一个叫JobMonitor的接口

public interface JobMonitor
{
public int getCallCount();
public void execute() throws Exception;
}

Class MyJob implements JobMonitor
{
private int callCount = 0;
public void execute() throws Exception
{
//....some business job
callCount ;
}

public int getCallCount()
{
return callCount;
}

public void otherBussinessJob()
{
}
}

Step 2.ApplicationContext.xml中的定义

<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.InterfaceBasedMBeanInfoAssembler">
<property name="interfaceMappings">
<props>
<prop key="myappfuse:service=myJob">com.itorgan.myappfuse.job.JobMonitor</prop>
</props>
</property>
</bean>
</property>
</bean>

Step 3.使用jmx client,执行myJob.excute()并查看myJob.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
在mc4j.sf.net下载最新版本,选择Tomcat5.5 服务器.

上一篇: java中四种操作xml方式的比较
下一篇: Java5.0,越来越死板的java

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Installation Guide of ArcIMS9.1 with Tomcat 5.0.28 and Apach

下一篇:Thinking in Java读书笔记(第七章) :重载,继承,重写和多态的区