Websphere Application Server 数据源面临一个奇怪的问题。
环境:
- Websphere 应用服务器 (6.1)
- Linux
- Liferay 门户 (5.2)
- 甲骨文 9i
- 休眠 3.0
我们在应用程序服务器引用中部署了数据源ODBC14.jar
数据源的休眠配置:
<property name="connection.datasource">jdbc/appDB</property>
<property name="jndi.class">com.ibm.websphere.naming.WsnInitialContextFactory</property>
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.autocommit">false</property>
我们收到以下异常:
原因:java.sql.SQLException:DSRA8101E:DataSource 类不能用作单阶段:ClassCastException:oracle.jdbc.pool.OracleConnectionPoolDataSource 与 com.ibm.ws.rsadapter.AdapterUtil.toSQLException 处的 javax.sql.ConnectionPoolDataSource 不兼容( AdapterUtil.java:1375) 在 com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:462) 在 com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:418) 在 org .hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:69) 在 org.hibernate.jdbc.ConnectionManager.openConnection
我们尝试了以下解决方法 得知classes12.jar 在 WEB-INF/lib 中有 ORACLE 驱动程序,这可能导致与 Shared/apps/lib ODBC14.jar 的类加载冲突
因此从 Web 应用程序库中删除了 classes12.jar 并重新部署了应用程序并重新启动,但再次出现相同的错误。关于如何解决这个问题的任何想法?