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

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

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+服务器.

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航