WrappedConnectionJDK6 wrapped = (WrappedConnectionJDK6) dbStrategy.getConnection();
Connection underlyingConn = wrapped.getUnderlyingConnection();
OracleConnection oracleConn = (OracleConnection)underlyingConn;
最后一行给出错误 -
> ERROR
> [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/web].[resteasy-servlet]]
> (http-/0.0.0.0:8080-1) Servlet.service() for servlet resteasy-servlet
> threw exception: org.jboss.resteasy.spi.UnhandledException:
> java.lang.ClassCastException: oracle.jdbc.driver.T4CConnection cannot
> be cast to oracle.jdbc.OracleConnection
答案 0 :(得分:5)
AFAIK T4CConnection应该实现oracle.jdbc.OracleConnection。 恕我直言你有2个驱动程序实现,一个在app服务器上,一个在你的项目依赖项中,必须有一个类加载问题,因为检索到的驱动程序实现是由共享类加载器加载的,你试图将它转换为webApp加载的类类加载器。
您可以确保您的Web应用程序依赖项与服务器提供的实现相同,或者只是在打包时从Web应用程序中排除依赖项。
如果你正在使用maven,只需将范围设置为provided
。