首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JMX远程管理示范小程序

2012-10-06 
JMX远程管理示例小程序? 最近在学习JMX相关的知识,本地管理程序相对容易做到,因为不需要配置启动参数,对于

JMX远程管理示例小程序

? 最近在学习JMX相关的知识,本地管理程序相对容易做到,因为不需要配置启动参数,对于不了解如何写bat或sh文件的人来说,还是有点难度的。由于本人在日企工作,系统也是日语的,在命令行下敲命令,错误信息一堆日文,很伤...

? 下面我以Eclipse和JDK6作为环境来演示下JMX的远程管理:

?

文件1:HelloMBean.java

public interface HelloMBean {public void setName(String name);public String getName();public void print();}

?

?文件2:Hello.java

?

public class Hello implements HelloMBean {private String name = "";@Overridepublic String getName() {return name;}@Overridepublic void print() {System.out.println("Hello, " + name  + "!");}@Overridepublic void setName(String name) {this.name = name;}}

?

?文件3:JmxDemo.java

public class JmxDemo {/** * @param args * @throws NullPointerException  * @throws MalformedObjectNameException  * @throws NotCompliantMBeanException  * @throws MBeanRegistrationException  * @throws InstanceAlreadyExistsException  * @throws InterruptedException  */public static void main(String[] args) throws InstanceAlreadyExistsException, MBeanRegistrationException, NotCompliantMBeanException, MalformedObjectNameException, NullPointerException, InterruptedException {MBeanServer server = ManagementFactory.getPlatformMBeanServer();server.registerMBean(new Hello(), new ObjectName("com.jmxdemo.test2:type=Hello"));Thread.sleep(Long.MAX_VALUE);}}

?ok,文件都有了,建工程和包组织我就不说了,只要文件引用正确就没问题。当然这是最简单的标准MBean,您可以自己写测试用例,下面是很多新手不知道的,至少我才知道不久。

?

1. 在JmxDemo.java文件中,右键—>Run As—>Run Configurations...;

2. 左边选择你要执行的程序,此处是JmxDemo,在右边Name中会显示你选择的程序,Main选项卡还会显示程序所在的工程名称和执行类,确定这些后切换到Arguments选项卡;

3. 在VM arguments文本框中添加如下的参数

-Dcom.sun.management.jmxremote.port=9998
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

?

点击Apply,然后Run即可

?

4.打开命令行,输入jconsole

?

5.在打开的程序中选择远程连接,

地址:localhost:9998

因为不要验证,所以无需填写用户名和密码

不出意外,连接成功的话,就可以进入并管理了,在MBean选项卡中可以看到com.jmxdemo.test2这个节点,即我们要管理的对象了

?

热点排行