• JMX初体验


    想要给自己的项目加上监控的功能,JMX是个不错的选择,主要是简单通用

    首先建立个接口,命名规范为:Java 类名 + "MBean"后缀

    然后,生成Java 类,实现上述接口,即MBean类

    然后,创建MBeanServer,即JMX agent,接收客户端调用

    然后,实例化MBean,生成ObjectName,在MBeanServer中注册MBean

    为了通过浏览器访问,加入HtmlAdaptor,在MBeanServer中注册HtmlAdaptorServer

    示例代码如下:

    public interface HelloMBean {
        String sayHello();
    }
    
    public class Hello implements HelloMBean {
        @Override
        public String sayHello(){
            return Charset.defaultCharset().name();
        }
    }
    // MBeanServer mbs = MBeanServerFactory.createMBeanServer();//不能在jconsole中使用
    MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();//可在jconsole中使用
    //创建MBean
    HelloMBean mb = new Hello();
    //将MBean注册到MBeanServer中
    mbs.registerMBean(mb, new ObjectName("MyappMBean:name=controller"));
    
    //创建适配器,用于能够通过浏览器访问MBean
    HtmlAdaptorServer adapter = new HtmlAdaptorServer();
    adapter.setPort(9797);
    mbs.registerMBean(adapter, new ObjectName("MyappMBean:name=htmladapter,port=9797"));
    adapter.start();

    浏览器中打开http://127.0.0.1:9797/,可以看到

    点开“name=controller”看到MBean详情

    点击下面的"sayHello"按钮打开,返回操作结果

  • 相关阅读:
    [leetcode]Combination SumII
    NSum小结
    image 与 canvas 的相互转化
    $_SERVER 相关变量
    最近做的项目,总结一下。
    开始在博客园,写博客,先写点东西。
    Codeforces Round #584 C. Paint the Digits
    Codeforces Round #584 B. Koala and Lights
    Codeforces Round #584 A. Paint the Numbers
    HDU-2296-Ring(AC自动机, DP)
  • 原文地址:https://www.cnblogs.com/yhzh/p/5099129.html
Copyright © 2020-2023  润新知