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

本文分享了一种监控WebLogic Server 8.x的方法,强调了在JDK1.4环境下监控的必要性,并解释了JDK5+环境下由于类加载冲突导致的问题。解决方案包括使用特定的JAR包(weblogic.jar和webservices.jar)以及在JDK5+环境下通过自定义classloader来避免类冲突。此外,还提到了在Web应用部署到Tomcat时可能出现的问题及官方建议。
摘要由CSDN通过智能技术生成

前言:做了一个监控应用服务器的项目(支持Tocmat、WebSphere、WebLogic各版本),过程也算是磕磕绊绊,由于网上缺少相关资料,或者深陷于知识的海洋难以寻觅到有效的资料,因而走过不少弯路,遇过不少困难。为了留下点印记,给后来人留下点经验之谈,助之少走弯路,故将这些经验整理出来,与大家分享。水平有限,难免疏漏,还望指正。如有疑问,欢迎留言,或者加入Q群参与讨论:35526521

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

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

 

只能在JDK1.4下监控WebLogic Server 8.x

首先,上面所说的那个最头疼的问题就是——要访问WebLogic Server 8.x的MBeans,必须是在JDK1.4环境下 ,如果是JDK5+环境下会很麻烦, 原因如下 :

----------------------------------------------------------------------------------------------------------------------

因为1.4的时代JDK还没有提供javax.management包,所 以WebLogic 8.x的weblogic.jar中自己包含了javax.management包,而JDK5中也有javax.management包,JVM运行时 会优先加载JDK5中javax.management包里的类,而weblogic.jar和JDK5中javax.management的实现是不一 样的,因此会产生错误。而且weblogic8.x支持JMX 1.0,而JDK5支持JMX1.2 。

----------------------------------------------------------------------------------------------------------------------

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

 

监控WebLogic Server 8.x需要的JAR包

  1、 weblogic.jar

  2、 webservices.jar

可以在%WL_HOME%\server\lib目录下找到这两个JAR包。

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

weblogic.rjvm.PeerGoneEx
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值