JMX应用

有时想在程序中启用JMX,通过JMX监控和操作进程中的线程及变量。


一、JMX 入门StandardMBean三部曲

1.创建一个管理接口
  1).该接口需要是public修饰符
  2).接口命名最好以MBean结尾(<Business-object>MBean.java )
  3).如果是read-only的属性,那么接口中最好只有getXXX、isXXX这样的方法;如果是write-only的属性,那么接口中最好只有setXXX方法;
      如果read-write的属性,那么接口中最好是setXXX、getXXX这样的方法对儿,像Java Bean.
2.实现这个接口
  1).接口实现类需要是public修饰符
  2).需要实现上面的接口(implements <Business-object>MBean.java),并继承javax.management.StandardMBean类(非必须)
  3).接口实现类命名最好是上面接口去掉MBean后的名称(<Business-object>.java)
3.注册MBean,并传入数据
  1).调用接口实现类中的方法,传入数据
  2).注册MBean(MBeanServer.registerMBean(Object object, ObjectName name)
           object - The MBean to be registered as an MBean.
           name - The object name of the MBean. May be null.
 
注册StandardMBean实例:
1.创建一个管理接口
package com.tdy218.weblogic;
public interface JVMPropMBean {
    public String getJVMPID();
}
 
2.实现这个接口
package com.tdy218.weblogic;
import javax.management.NotCompliantMBeanException;
import javax.management.StandardMBean;
 
public class JVMProp extends StandardMBean implements JVMPropMBean {
    
    String jvmpid = null;
    
    public JVMProp(Class<JVMPropMBean> mbeanInterface) throws NotCompliantMBeanException {
        super(mbeanInterface);
    }
 
    public String getJVMPID() {
        return jvmpid;
    }
    
    public void setJVMPID(String jvmpid) {
        this.jvmpid = jvmpid;
    }
}
 
3.注册并推入数据
package com.tdy218.tools.jvm;
String jvmPid = .....;
JVMProp jvmProp = new JVMProp(JVMPropMBean.class);
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();
ObjectName jvmPropMBean = new ObjectName("com.tdy218.weblogic:type=JVMPropMBean");
mbs.registerMBean(jvmProp, jvmPropMBean);

jvmProp.setJVMPID(jvmPid);


二、启动时加入以下设置参数
-Dcom.sun.management.jmxremote
-Djava.rmi.server.hostname=192.168.0.234
-Dcom.sun.management.jmxremote.port=9008
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.password.file=../conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=../conf/jmxremote.access






三、JMX管理工具

JDK自带的jconsole程序,主要可以查看JMX的属性和调用方法
JDK自带的jvisualvm程序,主要可视化的监视进程运行情况


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值