您的位置:首页 > 编程语言 > Java开发

Spring JMX demo 例子

2015-07-02 11:36 721 查看
<?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";
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring jmx 集成 例子