文档详情

《Java分布式应用学习笔记08JMX规范与各种监控场景》.pdf

发布:2016-10-29约7.4千字共9页下载文档
文本预览下载声明
nJava 分布式应用学习笔记 08JMX 规范与各种监控场景 刘岩 Email:suhuanzheng7784877@163.com Blog: 1. JMX 规范 JMX 是“Java 管理扩展的”的缩写,它和其他 JavaEE 类似也是曾经的 Sun 提出的一种规 范(规约),从名字上可以看出主要是负责系统管理。是一个为系统加入或者说扩展成 有管理功能的规约,只要按照这套规约行事,您的系统,某些某块就具备被其他工具 (例如JConsole)管理的能力。换句话说就是可以用JMX 来监控咱们的系统运行情况, 还有可以在运行时环境像 Web Service、RMI 一样调用系统管理类的一些方法。实现此规 范的框架也很多:Spring、Tomcat、JBoss 容器…… 2. 场景简述 咱们先假设一个情景,夫妻二人。男的因为工作需要要去外地出差,因公司规定,出差 不能带家属,女方不能跟过去啊。所以女方给他们 2 个人一个手机——HTC 吧。里面有个 小程序,叫做 JMXImpl4Android。等到男方出差在外地了,在外地出差的城市,一天晚上 和同事散步,路上遇到个发廊(各位男性朋友明白的啊)。此时远在另一个城市的妻子 的手机突然响了,手机GIS 定位信息告知妻子:“您的丈夫在一个发廊门前徘徊,请注 意”。妻子急了,立刻给丈夫打电话:“你干嘛呢?”。丈夫战战栗栗,汗出如浆,乖乖 的回酒店玩DOTA 了! 我们来用 Java 消息扩展的视角来看看这个场景,咱们伟大一些相当于那个妻子,那个 丈夫就相当于咱们的系统,出差事件相当于咱们将系统部署到了真正的远程的运行环境, 妻子曾 HTC 手机给丈夫您可以理解成把丈夫打 成具有 JMX 规范的系统,换句话说:此 丈夫可监控。因为一个小小的 GIS 应用就能让妻子随时监控丈夫的状态——想邪恶一把, 并且还可以根据系统的状态进行相应的措施——打电话告诉丫的别想出轨,虽然新的婚 姻法下来了,但是房子是老娘买的,出轨?你试试! 看到这里,大家估计明白了JMX 是什么东西,干什么用的了。但是估计大家有一个疑问, 这个和 Java 分布式系统有什么关系啊?在分布式系统中有时候我们需要监控各个分机 器的状态,比如想知道机器此时此刻的 Tomcat 的运行状况如何,还可以根据状况调用 相关的操作,比如 shutdown 服务、去除已部署的web 工程等等与服务有关的操作。或者 对于调度这些节点机的主控机器也可以进行监控,在远程使用一个 JConsole 调用即可 。 Ok,说了这么多,我们看示例吧,最后再来用实例解释JMX 的那些晦涩的理论概念。 3. 监控本机程序 这种场景在实际中不太常用,对于本机的程序来说,需要监控,按需调用被托管的类方 法还真不多。 相当于丈夫就在你面前,他的一举一动都在你眼皮底下,你还需要一个 Android 小程序 去监控他吗?笔者使用的是 Spring3 的实现。所以先将Spring 的包下载下来,放到项目 的classpath 中。 咱们先写一个最普通的JavaBean package jmx; 1 / 9 public class HusbandLocal { // 属性 private String name; private int age; private String message; // set,get public String getName() { System.out.println(name: +name); return name; } public void setName(String name) { = name; } public int getAge() { System.out.println(age: +age); return age; }
显示全部
相似文档