0

我用 Spring 3.2.2、JPA 2(休眠实现)和 Atomikos 3.9.0 开发了一个 webapp。

因此,一切似乎都按预期工作,包括本地和分布式事务。

但是,如果我为 atomikos 类启用 log4j 日志记录,当我启动应用程序时,我会在控制台中看到这个异常:

WARN 2013-06-23 14:06:20 - 恢复 java.lang.IllegalStateException 中的错误:尚未设置 recoveryService!在 com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:501) 在 com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromResourceIfNecessary(XATransactionalResource.java:614) 在 com.atomikos.datasource.xa.XATransactionalResource.endRecovery (XATransactionalResource.java:582) 在 com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:558) 在 com.atomikos.datasource.xa.XATransactionalResource.setRecoveryService(XATransactionalResource.java:435) 在 com.atomikos。 icatch.system.Configuration.installRecoveryService(Configuration.java:251) 在 com.atomikos.icatch.imp.TransactionServiceImp.prepareConfigurationForPresumedAbortIfNecessary(TransactionServiceImp.

为什么?应用程序似乎按预期工作,但我不知道这个异常是什么意思?

谁能给我指路?:) 谢谢!

4

2 回答 2

0

AtomikosDataSourceBean 替换 AtomikosNonXADataSourceBean 配置..

oracle lib up 影响

<bean id="icDataSource" class="com.atomikos.jdbc.nonxa.AtomikosNonXADataSourceBean">                
    <property name="uniqueResourceName">
        <value>oracle_ic</value>
    </property>     
    <property name="url" value="${ic.jdbc.url}"/>       
    <property name="driverClassName" value="${ic.jdbc.driverClassName}"/>           
    <property name="user" value="${ic.jdbc.username}"/>     
    <property name="password" value="${ic.jdbc.password}"/>     
    <property name="minPoolSize" value="5"/>
    <property name="maxPoolSize" value="15"/>
    <property name="borrowConnectionTimeout" value="120"/>  

于 2013-09-23T09:33:48.427 回答
0
I also met kind of mistake
Use the following method also no problem
...
grant select on sys.dba_pending_transactions to  username;      
grant select on sys.pending_trans$ to username;      
grant select on sys.dba_2pc_pending to username;      
grant execute on sys.dbms_system to username;    
于 2013-09-18T02:42:08.843 回答