WebJMX开源项目应用与进阶

上传人:M****1 文档编号:509412779 上传时间:2023-01-05 格式:DOCX 页数:32 大小:228.24KB
返回 下载 相关 举报
WebJMX开源项目应用与进阶_第1页
第1页 / 共32页
WebJMX开源项目应用与进阶_第2页
第2页 / 共32页
WebJMX开源项目应用与进阶_第3页
第3页 / 共32页
WebJMX开源项目应用与进阶_第4页
第4页 / 共32页
WebJMX开源项目应用与进阶_第5页
第5页 / 共32页
点击查看更多>>
资源描述

《WebJMX开源项目应用与进阶》由会员分享,可在线阅读,更多相关《WebJMX开源项目应用与进阶(32页珍藏版)》请在金锄头文库上搜索。

1、 最近公司用到一些关于JMX的使用,在我的BLOG之前介绍过JMX。一个简单的JMX结构由以下几个步骤去完成: 需要一个MBeanServer作为一个容器,去装载你的MBean如下创建:MBeanServer server = MBeanServerFactory.createMBeanServer(Local); ObjectName,JDK文档对它的描述是这样的:表示 MBean 的对象名,或者能够与多个 MBean 名称相匹配的模式。我们可以从字面上了解到他是干什么的了,就好比一个KEY, 当我们的MBean注入MBeanServer后总要有一个标识它,以方便我们以后通过这个KEY去找过

2、我们的MBean.如下创建:ObjectName manager = new ObjectName(NCS:name=scheduler); 将我们需要进行管理的MBean注册到MBeanServer中,具体如下: server.registerMBean(new IScheduler(), manager);这样就算告一段落了,完成以上步骤后,将实现一个MBeanServer(一个容器)中拥有多个MBean(受管理的类).这就是JMX的基本实现。那么如果要对MBean进行管理当然少不了一些管理机制,如SUN自己提供的HtmlAdaptorServer和Jconsole。HtmlAdaptor

3、Server可以通过WEB对MBean进行管理,Jconsole则是C/S结构的。下面列举一下HtmlAdaptorServer的使用方法:HtmlAdaptorServer adapter = new HtmlAdaptorServer(); server.registerMBean(adapter, adapterName);以上代码片段可以看出其实HtmlAdaptorServer 也就是个MBean,而这个MBean可访问注册在MBeanServer的其他MBean而已。最后启动HtmlAdaptorServer :adapter.start();完整代码片段:/XXX()自定义方法名

4、吧!public void XXX() try / create MBSERVER name is WUBINSERVER List l = MBeanServerFactory.findMBeanServer(null); if (l.size() 0) server = (MBeanServer) l.get(0); else server = MBeanServerFactory.createMBeanServer(Local); / Register HtmlAdaptorserver port is 8082. ObjectName adapterName = new ObjectN

5、ame( ManagerAgent:name=htmladapter,port=8082); HtmlAdaptorServer adapter = new HtmlAdaptorServer(); server.registerMBean(adapter, adapterName); / your self objectname register. ObjectName manager = new ObjectName(NCS:name=scheduler); server.registerMBean(new IScheduler(), manager); ObjectName manage

6、r2 = new ObjectName(NCS:name=scheduler2); server.registerMBean(new IScheduler(), manager2);/ ObjectName manager = new ObjectName(NCS:name=scheduler1);/ server.registerMBean(new JobManagerMBeanImpl(), manager); adapter.start(); System.out.println(start.); catch (MalformedObjectNameException e) / TODO

7、 Auto-generated catch block e.printStackTrace(); catch (InstanceAlreadyExistsException e) / TODO Auto-generated catch block e.printStackTrace(); catch (MBeanRegistrationException e) / TODO Auto-generated catch block e.printStackTrace(); catch (NotCompliantMBeanException e) / TODO Auto-generated catc

8、h block e.printStackTrace(); catch (NullPointerException e) / TODO Auto-generated catch block e.printStackTrace(); 当我们访问本地的8082后就可以看到HtmlAdaptorServer 所提供的管理界面,但这样的管理界面非常不人性化,(那么丑,怎么见人呢?)那下面我隆重介绍的就是WebJMX!他能帮我们解决管理界面的问题,让我们可自编写自己的管理界面。WebJMX Tag Library Project首先下载WEBJMXhttp:/ 的管理界面( HTML JMX HTMLAd

9、aptor )而这就是WEBJMX实例的管理界面,是不是比上面那个人性化的多呢?( WbJMX JSP MBeanServer )结构()WEBJMX标签包括这些部分(JMX ) 一套JSP标签和描述标签句法的TLD的Java类。( JSP TLD Java ) 由一个SERVLET接受页面上表单提交过来的数据。其实在这表单的数据是WebJMX标记修改后生成的。这个表单类似于这样( SERVLET . ' ; s WebJMX . ):于我们常见的FORM很不同。 通过使用JSP标签和Servlet调用AdapterFactory可以得到MBeanServers 。(MBeanServe

10、rs Servlet JSP AdapterFactory)结构图:( ):我们可以从上图中看到,WEBJMX是怎么工作的(虽然不是流程图,但其实一目了然!)。用户通过WEB浏览器通过HTTP request 触发ACTION(JMXACTION SERVLET)然后通过JMXSerivceAdapter访问MBEANSERVER(能访问MBEANSERVER也以为着能管理SERVER中的MBEAN啦!),那JMXSerivceAdapter其实是种适配器,我们之前介绍过的HTMLAdapter也是适配器。好!下面就开始看看我们的例子来真正认识一下WEBJMX。首先作为一个WEB程序最重要的当然是WEB.xml啦,那我们就从它开始

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号