java.lang.ClassCastException:org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6无法强制转换
问题内容:
应用程序版本: JBoss 7.0.0,Oracle 11g(ojdbc6.jar)和JDK 6版本
当我尝试使用CLOB.createTemporary
函数插入CLOB数据类型的值时遇到问题,出现以下异常。
java.lang.ClassCastException: org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6 cannot be cast to oracle.jdbc.OracleConnection
在多个论坛中搜索后,未找到任何解决方案。
https://forums.oracle.com/forums/thread.jspa?threadID=279238
完成了部署WAR文件和配置JBoss oracle驱动程序池配置所需的基本步骤。但是,仍然无法解决这个问题。
请提供解决此问题的解决方案。
问题答案:
我已经通过以下方法解决了我的问题。
简介: 类装入器不应从服务器库/模块和Web归档文件(WAR文件)中装入Oracle驱动程序。仅将oracle驱动程序保留在服务器库(JBoss 7
ver)中。
JBoss 7:
-
创建了一个新的JBoss部署描述符文件(jboss-deployment-structure.xml)
- 更新了jboss部署结构文件中的(ironjacamar-jdbc-1.0.3.Final.jar)Iron模块
- 在JBoss 7结构中将ojdbc6.jar创建为模块。更新了jboss部署结构文件中的objbc模块。
- 例:
<jboss-deployment-structure> <deployment> <dependencies> <module name="org.jboss.ironjacamar.jdbcadapters" slot="main"/> <module name="com.oracle.ojdbc6" slot="main"/> </dependencies> </deployment>