论坛首页 Java企业应用论坛

监控WebLogic9/10的项目部署到Tomcat报[Unsupported protocol: t3]异常的解决办法

浏览 2060 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-15   最后修改:2011-04-24

使用JMX监控WebLogic 9.x、10.x时要用到WebLogic提供的JAR包,比如9.x用到wlclient.jar和wljmxclient.jar,10.x在JDK1.6下用到wlfullclient.jar、JDK1.5下用到wlfullclient5.jar(用 WebLogic JarBuilder Tool生成),以下只说wlfullclient.jar。


我们会通过这种方式获取和MBean Server的连接:

 

JMXConnector connector = JMXConnectorFactory.connect(serviceURL, h);


 

但是项目在Eclipse下通过Java程序调用没有任何问题,作为Web应用部署到Tocmat就出问题了,会报异常:Unsupported protocol: t3。你是不是也发现了这个问题?如果是,那恭喜你,哈哈,往下看。


解决方法很简单:将wlfullclient.jar放到Tomcat安装目录下的lib目录下即可。


刚发现这个问题是很是诧异,想不通,后来在老外的一个论坛上找到类似问题,原来,JMXConnector接口是在JDK1.5/JDK1.6的rt.jar里面,而具体实现是在wlfullclient.jar里面,问题就在这里,rt.jar是由bootstrap classloader加载的,wlfullclient.jar如果放在自己的WEB-INFO/lib目录下,就不是由bootstrap classloader加载了。所以我们把wlfullclient.jar放到Tomcat安装目录下的lib目录下,这样wlfullclient.jar跟rt.jar就是由同一个classloader加载的了,所以问题就不存在了。

论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics