Spring JMX的总结学习(一)基于标准接口的JMX
??? 在Spring中采用JMX标准形式的,开发相关的Spring JMX实例的方法的学习:
创建JMX MBean的相关的MBean类的接口
?
package com.easyway.jboss.jmx.spring.service;public interface IJmxTestBean { public int getAge(); public void setAge(int age); public void setName(String name); public String getName(); public int add(int x, int y); public void dontExposeMe();}
?创建JMX MBean的相关的类:
package com.easyway.jboss.jmx.spring.service;public class JmxTestBean implements IJmxTestBean { private String name; private int age; private boolean isSuperman; public int getAge() { return age; } public void setAge(int age) { this.age = age; } public void setName(String name) { this.name = name; } public String getName() { return name; } public int add(int x, int y) { return x + y; } public void dontExposeMe() { throw new RuntimeException(); }}
?
?
?
?
配置如下:
applicationContext-jmx.xml
<?xml version="1.0" encoding="UTF-8"?><beansxmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:p="http://www.springframework.org/schema/p"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"> <!-- 创建相关的Bean对象并设置参数 --> <bean id="testBean" value="springJMXAgentId"></property> --></bean><!-- 一个由 MBeanServerFactoryBean 创建的 MBeanServer 实例,它通过属性server提供给了 MBeanExporter。 当你提供了你自己的 MBeanServer 实例后,MBeanExporter 将使用该实例,且不再查找一个运行中的 MBeanServer。 设置相关的Bean的暴露为JMX 关系最大的是 exporter Bean。beans 属性使得 MBeanExporter 知道要将哪个Bean输出到JMX的 MBeanServer 上去。 缺省配置中,beans 里的 Map 中的条目的key被用作相应条目值所引用的Bean的 ObjectName。 配置MbeanExporter类并传入需要导出的MBean --><bean id="exporter" value-ref="testBean"> </entry> </map> </property> <property name="server" ref="mbeanServer"/></bean><!-- 注意当使用一个RMI-based连接器时,你需要启动lookup服务(tnameserv或rmiregistry)用来完成名称注册。如果你通过RMI使用Spring发布远程服务,Spring还要构造一个RMI注册项。如果没有,你可以容易地使用下面的配置项启动一个注册: --><bean id="registry" class="org.springframework.jmx.support.ConnectorServerFactoryBean"> <property name="objectName"> <value>connector:name=rmi</value> </property> <property name="serviceUrl"> <value>service:jmx:rmi://localhost/jndi/rmi://localhost:9875/myconnector</value> </property></bean></beans>
?
1 楼 tomfish88 2011-03-18 这个怎么运行啊