JMX学习

JMX:(Java Management Extensions,即Java管理扩展)是Java平台上为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。

1.Agent:管理MBeanServer提供远程链接rmi

2.MBeanServer:管理MBean,注册MBean,查找MBean

3.MBea:java定义java对象



JMX demo

jmxBean.java

public class jmxBean {

    private String name;

    private int    age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

jmxTest

public class jmxTest {

    public static void main(String[] args) throws Exception {
        //注册mbean
         jmxBean mbean = new jmxBean();
         MBeanServer mbs = MBeanServerFactory.createMBeanServer();
         ObjectName name = new ObjectName("com.wxw.jmx:type=jmxBean");
         mbs.registerMBean(mbean, name);
         Echo e = new Echo();
         // 获取注册的Mbean
         MBeanServer mbss = ManagementFactory.getPlatformMBeanServer();
         ObjectName namee = new ObjectName("com.wxw.jmx:type=jmxBean");
         mbss.invoke(namee, "setName", new Object[] { "wwwwwwxwx" }, new String[] { "java.lang.string" });
         System.out.println(" ...................          " + e);
        while (true) {

        }

    }
}

JMX+Spring

jmxBean.java

public class jmxBean {

    private String name;

    private int    age;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

jmxTest.java

<pre name="code" class="html">public class jmxTest {

    public static void main(String[] args) throws Exception {

        ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml");
         MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
         ObjectName name = new ObjectName("bean:name=jmxBean");
         mbs.invoke(name, "setMessage", new Object[] { "invoke" }, new String[] { "java.lang.String" });
         mbs.invoke(name, "setName", new Object[] { "wxwinvoke" }, new String[] { "java.lang.String" });
 

    }
}


 
<pre name="code" class="html">applicationContext.xml

<pre name="code" class="html"><?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"> 
        <property name="beans"> 
            <map> 
                <entry key="bean:name=jmxBean" value-ref="jmxBean" /> 
            </map> 
        </property> 
        <!-- <property name="server" ref="mbeanServer"/>  -->
    </bean> 
  
    <bean id="jmxBean" class="com.spring.jmx.jmxBean" />   
</beans> 


 
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值