读书人

oracle驱动晋级后Atomikos数据源配置

发布时间: 2013-09-10 13:42:18 作者: rapoo

oracle驱动升级后,Atomikos数据源配置方式。

上午把oracle 驱动升级为 ojdbc14-11.2.0后,项目启动时报错:

?

?

15:56:00.827 [main] WARN  atomikos - ERROR IN RECOVERYcom.atomikos.datasource.ResourceException: Error in recoveryat com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:596)at com.atomikos.datasource.xa.XATransactionalResource.endRecovery(XATransactionalResource.java:670)at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:635)at com.atomikos.datasource.xa.XATransactionalResource.setRecoveryService(XATransactionalResource.java:503)at com.atomikos.icatch.system.Configuration.installRecoveryService(Configuration.java:278)at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:580)at com.atomikos.icatch.imp.TransactionServiceImp.init(TransactionServiceImp.java:741)at com.atomikos.icatch.imp.BaseTransactionManager.init(BaseTransactionManager.java:217)at com.atomikos.icatch.standalone.StandAloneTransactionManager.init(StandAloneTransactionManager.java:104)at com.atomikos.icatch.standalone.UserTransactionServiceImp.init(UserTransactionServiceImp.java:307)at com.atomikos.icatch.config.UserTransactionServiceImp.init(UserTransactionServiceImp.java:413)at com.atomikos.icatch.jta.UserTransactionManager.checkSetup(UserTransactionManager.java:90)at com.atomikos.icatch.jta.UserTransactionManager.init(UserTransactionManager.java:140)at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)at java.lang.reflect.Method.invoke(Method.java:597)

?

?

解决方式:将之前的AtomikosDataSourceBean配置方式换为AtomikosNonXADataSourceBean方式。

?

<!-- 配置dataSource数据源 --><bean id="parentDataSource" init-method="init"destroy-method="close" p:uniqueResourceName="rw1" p:testQuery="select 1 from dual" abstract="true"><property name="driverClassName" value="oracle.jdbc.driver.OracleDriver" /><property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:ORCL" /><property name="user" value="TEST_RW_1" /><property name="password" value="TEST_RW_1" /><property name="poolSize" value="5" /><property name="maxPoolSize" value="30" /></bean><bean id="com.fand.dataSource.rw1" parent="parentDataSource"></bean><bean id="com.fand.dataSource.rw2" p:uniqueResourceName="rw2" parent="parentDataSource"><property name="user" value="TEST_RW_2" /><property name="password" value="TEST_RW_2" /></bean><bean id="com.fand.dataSource.rw3" p:uniqueResourceName="rw3" parent="parentDataSource"><property name="user" value="TEST_RW_3" /><property name="password" value="TEST_RW_3" /></bean><bean id="com.fand.dataSource.rw4" p:uniqueResourceName="rw4" parent="parentDataSource"><property name="user" value="TEST_RW_4" /><property name="password" value="TEST_RW_4" /></bean><bean id="com.fand.dataSource.r1" p:uniqueResourceName="r1" parent="parentDataSource"><property name="user" value="TEST_R_1" /><property name="password" value="TEST_R_1" /></bean><bean id="com.fand.dataSource.r2" p:uniqueResourceName="r2" parent="parentDataSource"><property name="user" value="TEST_R_2" /><property name="password" value="TEST_R_2" /></bean><bean id="com.fand.dataSource.r3" p:uniqueResourceName="r3" parent="parentDataSource"><property name="user" value="TEST_R_3" /><property name="password" value="TEST_R_3" /></bean><bean id="com.fand.dataSource.r4" p:uniqueResourceName="r4" parent="parentDataSource"><property name="user" value="TEST_R_4" /><property name="password" value="TEST_R_4" /></bean><bean id="transactionManager" init-method="init" destroy-method="close"><property name="forceShutdown" value="true" /></bean></property><property name="userTransaction"><bean p:transactionTimeout="6000" /></property><property name="allowCustomIsolationLevels" value="true" /></bean><tx:annotation-driven />

?

?

Atomikos数据源配置方法有三种分别:

  1. SimpleDataSourceBean
  2. AtomikosDataSourceBean
  3. AtomikosNonXADataSourceBean

下面的演示以Orcale数据库为例子

读书人网 >操作系统

热点推荐