2009-11-05 1 views
0

У нас возникла странная проблема с источником данных WebSphere Application Server.Источник данных сервера приложений Websphere

Окружающая среда:

  • Websphere Application Server (6,1)
  • Linux
  • Liferay Portal (5,2)
  • Oracle 9i
  • Hibernate 3,0

У нас есть datasource dep loyed в сервере приложений, ссылающегося ODBC14.jar

конфигурации Hibernate для Datasource:

<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 драйвер, который может вызвать загрузки класса конфликт с общим/приложений/Lib ODBC14.jar

Так удалены classes12.jar из веб-приложения Lib и переведенных на другую и приложения перезапущен, но снова получил ту же ошибку. Любая идея о том, как разрешить это?

ответ

1

DSRA8101E: класс DataSource, не может быть использован в качестве однофазного: ClassCastException: {0} Объяснения: '' enable2Phase свойства может быть установлено только ложным, если класса DataSource реализует ConnectionPoolDataSource. Пользователь Ответ: Установите 'enable2Phase' в значение true для XADataSource или false для ConnectionPoolDataSource.

Вы пытались установить для enable2Phase значение false?

0

У меня была такая же проблема в websphere 7, когда я пытаюсь использовать classes12.jar подключиться к старой базе данных оракула.

Мое решение создает новый пользовательский поставщик jdbc для приложения websphere V4 datasource (новый источник данных будет несовместим с несовместимой проблемой), который будет указывать на старые классы12.jar.

и использовать изолят возможность изолировать новый оракул источник данных (если у вас есть), чтобы предотвратить конфликт загрузчика классов (Это очень важно!)

Старый v4 WebSphere DataSource не имеют такой вариант.

0

В разделе поставщика JDBC просто установите флажок «Изолировать этого поставщика ресурсов» для меня.

 Смежные вопросы

  • Нет связанных вопросов^_^