您的位置:首页 > 运维架构 > Tomcat

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

2015-05-20 13:26 609 查看
原文转自:http://yunzhu.iteye.com/blog/1004037

使用JMX监控WebLogic 9.x、10.x时要用到WebLogic提供的JAR包:

◆ 9.x用到wlclient.jar和wljmxclient.jar

◆ 10.x在JDK6下用到wlfullclient.jar、JDK5下用到wlfullclient5.jar(用 WebLogic JarBuilder Tool生成)

以下只针对wlfullclient.jar,也就是JDK6下的WebLogic 10.x。

错误现象

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

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

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

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

但是项目在Eclipse下通过Java程序调用没有任何问题,但作为Web应用部署到Tocmat就出问题了,会报这样的异常:

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

Unsupported protocol: t3

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

你是不是也发现了这个问题?

原因分析

刚发现这个问题是很是诧异,想不通,后来在老外的一个论坛上找到类似问题。

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

原来, JMXConnector接口是在JDK5/JDK6的rt.jar里面,而具体实现类是在wlfullclient.jar里面,问题就出在这里。rt.jar是由系统类加载器加载的, wlfullclient.jar如果放在WEB-INFO/lib目录下,就不是由系统类加载器加载,而是由Tomcat自定义的每个Web应用独有的WebappClassLoader加载了。所以我们只要把wlfullclient.jar放到Tomcat安装目录下的lib目录下,这样
wlfullclient.jar跟rt.jar就都是由系统类加载器加载了,所以问题就不存在了。

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

解决方案

解决方法很简单: 将wlfullclient.jar放到Tomcat安装目录下的lib目录下即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐