`

JMX 基础及实例

阅读更多
JMX Java Management Extensions

  Manageable resource:
   可以被管理的资源可以是应用程序,设备或者存在的能够被java程序所访问或者包装的实体。通过JMX可以管理这些资源,应用程序能够暴露自己的组件,API或者附加的资源,使得JMX能够管理应用程序。
  MBean Managed Bean
  是一个java类 是符号jmx specification 所规定的命名和继承规范

   动态 Mbeans 可在运行时定义属性和操作。这能力允许 Mbean 在装载时动态配置自己或根据它所处环境改变它的属性和操作


下面用一个案例来验证一下(是引用已经验证)
1.建立MBean
public interface HelloMBean {
//operations

public void sayHello();
public int add(int x,int y);
//attributes
//a read-only attribute called Name of type String

public String getName();
// a read-write attribute called CacheSize of type int
public int getCacheSize();
public void setCacheSize(int size);

}

2.建立实现MBean的类


public class Hello implements HelloMBean{
private final String name = "Reginald";   
    private int cacheSize = DEFAULT_CACHE_SIZE;   
    private static final int DEFAULT_CACHE_SIZE = 200;
   
   
public int add(int x, int y) {
// TODO 自动生成方法存根
return x+y;
}

public int getCacheSize() {
// TODO 自动生成方法存根
return this.cacheSize;
}

public String getName() {
// TODO 自动生成方法存根
return this.name;
}

public void sayHello() {
// TODO 自动生成方法存根
System.out.println("hello,world");
}

public synchronized void setCacheSize(int size) {
// TODO 自动生成方法存根
this.cacheSize=size;
}

}
3.客户端代码
import java.lang.management.*;   
import javax.management.*;   
  
import com.sun.jdmk.*;
import com.sun.jdmk.comm.HtmlAdaptorServer;
public class Main {

/**
* @param args
* @throws NullPointerException
* @throws MalformedObjectNameException
* @throws NotCompliantMBeanException
* @throws MBeanRegistrationException
* @throws InstanceAlreadyExistsException
*/
public static void main(String[] args) throws MalformedObjectNameException, NullPointerException, InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException {
// TODO 自动生成方法存根
MBeanServer mbs = ManagementFactory.getPlatformMBeanServer();   
final HtmlAdaptorServer htmlAdaptor = new HtmlAdaptorServer();  
final ObjectName htmlAdaptorON = new ObjectName("com.example.mbeans:name=HtmlAdaptor");    
mbs.registerMBean(htmlAdaptor, htmlAdaptorON);    
         htmlAdaptor.setPort(9999);    
         System.out.print("Starting the HtmlAdaptor....");    
         htmlAdaptor.start();   
}

}
附这里如果没有在classpath中引入jdmkrt.jar 找不到com.sun.jdmk.comm.HtmlAdaptorServer

4.运行上面的java代码
控制台信息:Starting the HtmlAdaptor....
5.在浏览器中输入
http://localhost:9999/
这时候你就可以看见一个打开的网页,现在你就可以利用这个网页来进行MBean的管理了!
  • jdmkrt.jar (1017.6 KB)
  • 描述: jdmkrt.jar
  • 下载次数: 719
分享到:
评论

相关推荐

    javasnmp源码-02-jmx-demo:如何使用JMX来管理程序

    在JMX中MBean代表一个被管理的资源实例,通过MBean中暴露的方法和属性,外界可以获取被管理的资源的状态和操纵MBean的行为。 Agent 用来管理相应的资源,并且为远端用户提供访问的接口。该层的核心是MBeanServer,...

    JAVA上百实例源码以及开源项目源代码

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    JAVA上百实例源码以及开源项目

     Tcp服务端与客户端的JAVA实例源代码,一个简单的Java TCP服务器端程序,别外还有一个客户端的程序,两者互相配合可以开发出超多的网络程序,这是最基础的部分。 递归遍历矩阵 1个目标文件,简单! 多人聊天室 3...

    MySQL 5.1中文手冊

    5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:MySQL...

    springMongodb参考文档中文版

    自定义基础存储库 7.7。从聚合根发布事件 7.8。Spring数据扩展 7.8.1。Querydsl扩展 7.8.2。Web支持 7.8.3。存储库填充程序 7.8.4。传统网络支持 参考文档 8.介绍 8.1。文档结构 9. MongoDB支持 9.1。入门 9.2。示例...

    Java SE实践教程 源代码 下载

    内容简介:此书结合具体实例讲解,通俗易懂,又不乏深度。我觉得这本书写的确实不错,堪称经典,市面上这样的书实在太少了,所以在这里发布下,供大家共享。本书从编程技术、项目实践以及软件工程的角度出发,如果...

    Java SE实践教程 pdf格式电子书 下载(一) 更新

    内容简介:此书结合具体实例讲解,通俗易懂,又不乏深度。我觉得这本书写的确实不错,堪称经典,市面上这样的书实在太少了,所以在这里发布下,供大家共享。本书从编程技术、项目实践以及软件工程的角度出发,如果...

    SSH相关整合的总要资料

    今天我们将通过一个实例,在常用IDE—Eclipse3.2.2+MyEclipse5.5.1+Tomcat6.0的基础之上给大家做一个介绍。让大家体会一把SSH创建框架的过程。 3.1 SSH介绍 SSH是指Struts,Spring,Hibernate的简称。  Struts 是一...

    Java SE实践教程 pdf格式电子书 下载(四) 更新

    内容简介:此书结合具体实例讲解,通俗易懂,又不乏深度。我觉得这本书写的确实不错,堪称经典,市面上这样的书实在太少了,所以在这里发布下,供大家共享。本书从编程技术、项目实践以及软件工程的角度出发,如果...

    jmetertests

    使用JMeter和Azure容器实例进行分布式测试 要构建Controller Docker映像,请查看并运行buildController.ps1脚本。 要构建Server \ Worker Docker映像,请查看并运行buildServer.ps1脚本。 确保entrypointController...

    MYSQL中文手册

    5.2.1. 用MySQL实例管理器启动MySQL服务器 5.2.2. 连接到MySQL实例管理器并创建用户账户 5.2.3. MySQL实例管理器命令行选项 5.2.4. MySQL实例管理器配置文件 5.2.5. MySQL实例管理器识别的命令 5.3. mysqld:...

    Spring攻略英文版(附带源码)

    Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念  第1章 控制反转和容器  ... 第18章 Spring对JMX、电子邮件和调度的支持   第19章 Spring中的脚本编程 

    Spring攻略PDF版

    因为上传大小的限制,分为两部分上传,这是第二部分,第一部分会在评论中给出链接 绝对是spring攻略中文版第二版 ... 第18章 Spring对JMX、电子邮件和调度的支持   第19章 Spring中的脚本编程 

    Spring攻略中文版PDF

    因为上传大小的限制,分为两部分上传,这是第一部分,第二部分会在评论中给出链接 绝对是spring攻略中文版第二版 ... 第18章 Spring对JMX、电子邮件和调度的支持   第19章 Spring中的脚本编程 

    JavaEE开发的颠覆者SpringBoot实战[完整版].part2

    6.5.3 实例分析 157 6.5.4 实战 160 第7 章 Spring Boot 的Web 开发 170 7.1 Spring Boot 的Web 开发支持 170 7.2 Thymeleaf 模板引擎 171 7.2.1 Thymeleaf 基础知识 171 7.2.2 与Spring MVC 集成 174 7.2.3 Spring ...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part3

    6.5.3 实例分析 157 6.5.4 实战 160 第7 章 Spring Boot 的Web 开发 170 7.1 Spring Boot 的Web 开发支持 170 7.2 Thymeleaf 模板引擎 171 7.2.1 Thymeleaf 基础知识 171 7.2.2 与Spring MVC 集成 174 7.2.3 Spring ...

    JavaEE开发的颠覆者SpringBoot实战[完整版].part1

    6.5.3 实例分析 157 6.5.4 实战 160 第7 章 Spring Boot 的Web 开发 170 7.1 Spring Boot 的Web 开发支持 170 7.2 Thymeleaf 模板引擎 171 7.2.1 Thymeleaf 基础知识 171 7.2.2 与Spring MVC 集成 174 7.2.3 Spring ...

    JAVA单例模式源码-zabbixj:一个简单的JavaZabbix框架

    是一个“企业级开源分布式监控解决方案”,它提供跨整个基础设施的遥测和触发器。 Zabbix/J 使从 Java 应用程序公开指标变得简单,使它们作为 Zabbix 部署中的一等公民可见。 Zabbix/J 的要求是最低的。 不需要任何...

    Spring 2.0 开发参考手册

    3.3.3. bean属性及构造器参数详解 3.3.4. 使用depends-on 3.3.5. 延迟初始化bean 3.3.6. 自动装配(autowire)协作者 3.3.7. 依赖检查 3.3.8. 方法注入 3.4. bean的作用域 3.4.1. Singleton作用域 3.4.2. ...

Global site tag (gtag.js) - Google Analytics