Spring JMX demo 例子

来源:互联网 发布:组态王软件下载 编辑:程序博客网 时间:2024/06/07 15:22
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="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-3.0.xsd">    <!-- 暴露监控设备 -->    <bean id="mbeanServer" class="org.springframework.jmx.support.MBeanServerFactoryBean"/>    <bean id="exporter" class="org.springframework.jmx.export.MBeanExporter"          lazy-init="false">        <property name="beans">            <map>                <entry key="bean:name=mbeanTestLocal" value-ref="mbeanTest" />            </map>        </property>        <property name="server" ref="mbeanServer"/>    </bean>    <!-- mbean -->    <bean id="mbeanTest" class="mbean.MBeanTest" />    <!-- 使用JNDI-RMI的方式进行远程连接通讯,并且配置占用端口号 -->    <bean id="rmiRegistry" class="org.springframework.remoting.rmi.RmiRegistryFactoryBean">        <property name="port" value="38080" />    </bean>    <bean class="org.springframework.jmx.support.ConnectorServerFactoryBean"          depends-on="rmiRegistry" lazy-init="false">        <property name="objectName" value="connector:name=rmi" />        <!-- 远程连接的地址 -->        <property name="serviceUrl"                  value="service:jmx:rmi://localhost/jndi/rmi://localhost:38080/myconnector1" />    </bean>

</beans>

package mbean;import org.springframework.context.support.ClassPathXmlApplicationContext;/** * Created by 13100256 on 2015/7/2. */public class Test {    public static void main(String args[]){        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(                "conf/spring/spring-mbean-1.xml");        try {            Thread.currentThread().sleep(1000*10000);        } catch (InterruptedException e) {            e.printStackTrace();        }    }}


package mbean;import org.springframework.jmx.export.annotation.ManagedAttribute;import org.springframework.jmx.export.annotation.ManagedOperation;import org.springframework.jmx.export.annotation.ManagedResource;import javax.management.MXBean;/** * Created by 13100256 on 2015/7/1. *///@ManagedResource(objectName = "annojmx:myjao=AnnotationObject", description="MyJavaAnnotationObject")public class MBeanTest {    //@ManagedAttribute    public long getCount(){        return 1;    }    //@ManagedAttribute    public long getGauge(){        return 2;    }    //@ManagedOperation    public String shut(){        return "test";    }}



0 0