一:创建maven项目,在pom.xml里面增加例如以下依赖

  1. <dependency>
  2. <groupId>com.sun.jdmk</groupId>
  3. <artifactId>jmxtools</artifactId>
  4. <version>1.2.1</version>
  5. </dependency>

因为该依赖在默认的maven中央仓库无法下载,所以,还必须增加例如以下仓库

  1. <repositories>
  2. <repository>
  3. <id>jboss</id>
  4. <url>http://repository.jboss.org/maven2/</url>
  5. </repository>
  6. </repositories>

二:创建一个MBean的接口

  1. package com.lala.jmx;
  2.  
  3. public interface ConfigMBean
  4. {
  5. public String getBind();
  6.  
  7. public void setBind(String bind);
  8.  
  9. public Integer getPort();
  10.  
  11. public void setPort(Integer port);
  12. }

实现类:

  1. package com.lala.jmx;
  2.  
  3. public class Config implements ConfigMBean
  4. {
  5. private String bind;
  6. private Integer port;
  7.  
  8. public String getBind() {
  9. return bind;
  10. }
  11.  
  12. public void setBind(String bind) {
  13. this.bind = bind;
  14. }
  15.  
  16. public Integer getPort() {
  17. return port;
  18. }
  19.  
  20. public void setPort(Integer port) {
  21. this.port = port;
  22. }
  23. }

创建Agent类

  1. package com.lala.jmx;
  2.  
  3. import javax.management.MBeanServer;
  4. import javax.management.MBeanServerFactory;
  5. import javax.management.ObjectName;
  6.  
  7. import com.sun.jdmk.comm.HtmlAdaptorServer;
  8.  
  9. public class ConfigAgent
  10. {
  11. public static void main(String[] args)throws Exception
  12. {
  13. int port = 8282;
  14. MBeanServer server = MBeanServerFactory.createMBeanServer();
  15. ObjectName configName = new ObjectName("config:name=configure");
  16. server.registerMBean(new Config(), configName);
  17. ObjectName adapterName = new ObjectName("config:name=htmladapter");
  18. HtmlAdaptorServer adapter = new HtmlAdaptorServer();
  19. server.registerMBean(adapter, adapterName);
  20. adapter.setPort(port);
  21. adapter.start();
  22. System.out.println("server start on port "+port+" .....");
  23. }
  24. }

注意:

config:name=configure  的名字是有一定规则的。格式为:“域名:name=MBean名称”。域名和MBean名称都能够随意取

最后,在浏览器上訪问

http://127.0.0.1:8282   单击 config:name=configure 连接就可以进入

JMX简单样例的更多相关文章

  1. extern外部方法使用C#简单样例

    外部方法使用C#简单样例 1.添加引用using System.Runtime.InteropServices; 2.声明和实现的连接[DllImport("kernel32", ...

  2. spring事务详解(二)简单样例

    系列目录 spring事务详解(一)初探事务 spring事务详解(二)简单样例 spring事务详解(三)源码详解 spring事务详解(四)测试验证 spring事务详解(五)总结提高 一.引子 ...

  3. velocity简单样例

    velocity简单样例整体实现须要三个步骤,详细例如以下: 1.创建一个Javaproject 2.导入须要的jar包 3.创建须要的文件 ============================= ...

  4. 自己定义隐式转换和显式转换c#简单样例

    自己定义隐式转换和显式转换c#简单样例 (出自朱朱家园http://blog.csdn.net/zhgl7688) 样例:对用户user中,usernamefirst name和last name进行 ...

  5. VC6 鼠标钩子 最简单样例

    Windows系统是建立在事件驱动的机制上的,说穿了就是整个系统都是通过消息的传递来实现的.而钩子是Windows系统中非常重要的系统接口,用它能够截获并处理送给其它应用程序的消息,来完毕普通应用程序 ...

  6. gtk+3.0的环境配置及基于gtk+3.0的python简单样例

    /*********************************************************************  * Author  : Samson  * Date   ...

  7. java 使用tess4j实现OCR的最简单样例

    网上很多教程没有介绍清楚tessdata的位置,以及怎么配置,并且对中文库的描述也存在问题,这里介绍一个最简单的样例. 1.使用maven,直接引入依赖,确保你的工程JDK是1.8以上 <dep ...

  8. 使用SALT-API进入集成开发的简单样例

    测试的时候,可以CURL -K,但真正作集成的时候,却是不可以的. 必须,不可以让TOKEN满天飞吧. 现在进入这个阶段了.写个样例先: import salt import salt.auth im ...

  9. VB.net数据库编程(03):一个SQLserver连接查询的简单样例

    这个样例,因为在ADO.net入门已经专门学了,再次进行复习 一下. 主要掌握连接字串的情况. 过程就是: 1.引用System.Data.SqlClient.而Access中引用 的是System. ...

随机推荐

  1. 浅谈单页应用和多页应用——Vue.js向

    浅谈单页应用和多页应用--Vue.js向 多页面 多页面应用:每次页面跳转,后台都会返回一个新的HTML文档,就是多页面应用. 在以往传统开发的应用(网站)大多都是多页面应用,路由由后端来写. 页面跳 ...

  2. JVM内存溢出及配置

    一.Java JVM内存介绍 JVM管理两种类型的内存,堆和非堆.按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配.堆是在 Java 虚拟机启动时创 ...

  3. [BZOJ 1926] 粟粟的书架

    BZOJ 传送门 Luogu 传送门 BZOJ的sillyB评测机各种无故CE,只好去Luogu上A了o(╯□╰)o Solution: 从数据范围可以发现,这其实是2道题: (1)一个$R*C$的矩 ...

  4. small test on 5.30 night T1

    数学题使劲推就对了. 让我们设  g(x) = ∑ C(i,x) * b^i ,然后后面验算了一张纸QWQ,懒得再打一遍了,回家我就把这张演算纸补上QWQ,先上代码. #include<cstd ...

  5. 6.5(java学习笔记)其他流(字节数组流,数据流,对象流,打印流)

    一.字节数组流 之前使用输入输出流的操作的对象是文件,而这里字节数组流操作的对象是内存,内存可以看做是一个字节数组. 使用字节数组流读写就可以看做是从内存A到内存B的读写,对象时内存即字节数组. 1. ...

  6. 编译boost到各个系统平台 mac,iOS,linux,android,wind

    编译boost到各个系统平台 mac,iOS,linux,android,wind git地址:https://github.com/czjone/boost git仓库:https://github ...

  7. Linux下使用GDB进行调试

    Linux下使用GDB进行调试的常用命令记于此. $ sudo su # g++ -g test.cpp -o test -pthread # gdb test         <------- ...

  8. C#之鼠标模拟技术

    游戏程序的操作不外乎两种——键盘输入控制和鼠标输入控制,几乎所有游戏中都使用鼠标来改变角色的位置和方向,本文主要是讲述如何使用C#调用Windows API函数实现鼠标模拟操作的功能.首先通过结合Fi ...

  9. osgMulitiplerendertargets sample 中fbo使用【HTC VIVE开发中应用】

    osgmultiplerendertargets.cpp ...................................... // now create the camera to do t ...

  10. PHP5实现foreach语言结构遍历一个类的实例

    PHP5实现foreach语言结构遍历一个类 创建一个类集成Iterator接口,并实现Iterator里面的方法即可,下面见实例代码实现 <?php class Test implements ...