Мы столкнулись со странной проблемой с источником данных сервера приложений Websphere.
Окружающая среда:
- Сервер приложений Websphere (6.1)
- линукс
- Портал 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 несовместим с javax.sql.ConnectionPoolDataSource в com.ibm.ws.rsadapter.AdapterUtil.toSQLException( 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.
Поэтому удалил class12.jar из Lib веб-приложения, повторно развернул приложение и перезапустил, но снова получил ту же ошибку. Любая идея о том, как решить эту проблему?