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
AFAIK T4CConnection应该实现oracle.jdbc.OracleConnection.
恕我直言你有2个驱动程序实现,一个在app服务器上,一个在你的项目依赖项中,必须有一个类加载问题,因为检索到的驱动程序实现由共享类加载器加载,你试图将它转换为webApp加载的类类加载器.
恕我直言你有2个驱动程序实现,一个在app服务器上,一个在你的项目依赖项中,必须有一个类加载问题,因为检索到的驱动程序实现由共享类加载器加载,你试图将它转换为webApp加载的类类加载器.
您可以确保您的Web应用程序依赖项与服务器提供的实现相同,或者在打包时仅从Web应用程序中排除依赖项.
如果你正在使用maven,只需将范围设置为提供.