【问题标题】:Websphere Application Server Data SourceWebsphere 应用服务器数据源
【发布时间】:2009-11-05 01:09:51
【问题描述】:

我们在使用 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 不兼容 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 的类加载冲突

因此从 Web 应用程序库中删除 classes12.jar 并重新部署应用程序并重新启动,但再次出现相同的错误。关于如何解决这个问题的任何想法?

【问题讨论】:

    标签: database oracle hibernate jdbc websphere-6.1


    【解决方案1】:

    DSRA8101E: DataSource 类不能 用作单阶段:ClassCastException: {0} 说明:“enable2Phase” 属性只能在以下情况下设置为 false DataSource 类实现 连接池数据源。用户 响应:将“enable2Phase”设置为 true 对于 XADataSource 或 false 连接池数据源。

    您是否尝试将 enable2Phase 设置为 false?

    【讨论】:

      【解决方案2】:

      当我尝试使用 classes12.jar 连接到旧的 oracle 数据库时,我在 websphere 7 中遇到了同样的问题。

      我的解决方案是为 websphere 应用程序 V4 数据源创建一个新的用户定义的 jdbc 提供程序(新类型的数据源将导致不兼容的问题),它将指向旧的 classes12.jar。

      并使用isolate选项隔离新的oracle数据源(如果有的话)以防止类加载器冲突(这很重要!)

      旧的 websphere v4 数据源没有这个选项。

      【讨论】:

        【解决方案3】:

        在 JDBC 提供程序部分中,选中“隔离此资源提供程序”复选框对我有用。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-09-05
          • 2011-12-04
          • 1970-01-01
          • 2018-04-10
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多