Websphere Application Server数据源面临着一个奇怪的问题。
环境:
(6.1)
我们在应用服务器中部署了引用ODBC14.jar的数据源
Datasource的Hibernate配置:
<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>我们得到以下例外:
由: com.ibm.ws.rsadapter.AdapterUtil.toSQLException(AdapterUtil.java:1375):DSRA8101E: DataSource类引起的
不能作为单阶段使用: ClassCastException: ClassCastException: javax.sql.ConnectionPoolDataSource在com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:462) at com.ibm.ws.rsadapter.jdbc.WSJdbcDataSource.getConnection(WSJdbcDataSource.java:418) at org.hibernate.connection上与javax.sql.ConnectionPoolDataSource不兼容。DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:69) at org.hibernate.jdbc.ConnectionManager.openConnection
我们尝试了以下解决方法,了解到类中有12.jar在WEB/lib中,其中有ORACLE驱动程序,它可能导致与共享/apps/lib ODBC14.jar之间的类加载冲突
因此,从Web应用程序Lib中删除了类12.jar,重新部署了应用程序并重新启动,但是再次出现了相同的错误。知道怎么解决这个问题吗?
发布于 2009-11-08 08:39:43
DSRA8101E: DataSource类不能用作单阶段: ClassCastException:{0}解释:只有当DataSource类实现ConnectionPoolDataSource时,“enable2Phase”属性才能设置为false。用户响应:将“enable2Phase”设置为XADataSource为true,ConnectionPoolDataSource为false。
您试过将enable2Phase设置为false吗?
发布于 2010-07-27 09:31:18
当我尝试使用oracle 12.jar连接到旧的oracle数据库时,我在websphere 7中也遇到了同样的问题。
我的解决方案是为websphere应用程序V4数据源创建一个新的用户定义的jdbc提供程序(新类型的数据源将解决不兼容的问题),它将指向旧的casuse 12.jar。
并使用隔离选项隔离新的oracle数据源(如果有)以防止类加载器冲突(这是非常重要的!)
旧的websphere v4数据源没有此选项。
发布于 2016-04-29 07:19:38
在部分,只要选中复选框,“隔离此资源提供程序”就为我工作了。
https://stackoverflow.com/questions/1677722
复制相似问题