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

监控WebLogic 8.x的解决方案(监控应用服务器系列稿子三)

2012-09-09 
监控WebLogic 8.x的解决方案(监控应用服务器系列文章三)前言:最近在做一个监控应用服务器(Tocmat、WebSpher

监控WebLogic 8.x的解决方案(监控应用服务器系列文章三)

前言:最近在做一个监控应用服务器(Tocmat、WebSphere、WebLogic)的项目,目前已小有规模,回头看看,一路走来,也算是磕磕绊绊,遇到过种种问题,走过不少弯路,不过程序员最不怕的就是遇到问题——有什么问题就解决什么问题。为了留下点印记,为后来人留下点经验之谈,助之少走弯路,特意把这些经验整理出来,与大家分享。水平有限,如有疏漏,还望指正监控WebLogic 8.x的解决方案(监控应用服务器系列稿子三)??

?

在写WebLogic监控程序的过程中,可以说是相当坎坷,因为因为我要支持监控WebLogic不同版本,而WebLogic不同版本对JMX的支持却有着不小的区别,在网上也没有找到完整的解决方案,所以只能自己一点点的摸索,如今终于拨云见日了,OMG。在此,我们只探讨监控WebLogic 8.x的解决方案,其他版本后续跟进,我会整理出一个完整的文章。为什么监控WebLogic 8.x要先单独写个文章呢——因为8.x跟新的9.x和10.x不一样,刚开始入手会遇到很麻烦的问题。如果我入手之前能看到这篇文章,嘿嘿,那就谢天谢地了。

?

好了,不啰嗦了,我们开始:


首先第一条,要访问WebLogic Server 8.x的MBeans,必须是在JDK1.4环境下,否则会很麻烦,原因如下:

?

因为WebLogic 8.x的weblogic.jar中有自己的javax.management包,而JDK1.5中也有javax.management包(以前版本没有),运行时会优先调用JDK1.5中javax.management包里的类,因此产生错误。而且weblogic8.x支持JMX 1.0,而JDK1.5支持JMX1.2 。

?

网上有人说通过System.setProperty("jmx.serial.form", "1.0");这样的设置可以解决问题,经试验根本不行。

?

如果要在JDK5+环境下监控WebLogic Server 8.x,需要写自己classloader,屏蔽JDK自己的javax.management包,转而加载weblogic.jar中的javax.management包。

?

?

使用JMX访问WebLogic Server 8.x的MBeans,需要使用的JAR包是weblogic.jar、webservices.jar。可以在%WL_HOME%\server\lib目录下找到。

?

如果只加入weblogic.jar包,有些API可以访问,但是运行MBeanHome->getAllMBeans()方法获取所有MBean时会抛异常:

加入webservices.jar包就可以解决这个问题了。

?

下面展示一下我自己跑的Demo

?    1 楼    Dead_knight    2012-06-07              很早之前也搞过这玩意
http://dead-knight.iteye.com/blog/853008

主要是服务卡死、jvm不足等等问题能及时短信提醒维护人员进行处理。其次就是能监控到队列,可以把耗时的队列记录到日志里,方便性能优化 2 楼 yunzhu 2012-06-07   Dead_knight 写道很早之前也搞过这玩意
http://dead-knight.iteye.com/blog/853008

主要是服务卡死、jvm不足等等问题能及时短信提醒维护人员进行处理。其次就是能监控到队列,可以把耗时的队列记录到日志里,方便性能优化

呵呵,我们做的这个一大堆的软件硬件都要监控

热点排行