我有一个Grails应用程序配置为使用Atomikos插件来连接到两个数据库。当我试图在一个事务中更新两个数据库时,我得到了以下异常:
javax.transaction.xa.XAException: connection exception: connection failure: java.lang.RuntimeException: unsupported internal operation: Result
at org.hsqldb.jdbc.pool.JDBCXAResource.prepareThis(Unknown Source)
at org.hsqldb.jdbc.pool.JDBCXAResource.prepare(Unknown Source)
at com.atomikos.datasource.xa.XAResourceTransaction.prepare(XAResourceTransaction.java:622)
at com.atomikos.icatch.imp.PrepareMessage.send(PrepareMessage.java:61)
at com.atomikos.icatch.imp.PropagationMessage.submit(PropagationMessage.java:111)
at com.atomikos.icatch.imp.Propagator$PropagatorThread.run(Propagator.java:87)
at com.atomikos.icatch.imp.Propagator.submitPropagationMessage(Propagator.java:66)
at com.atomikos.icatch.imp.ActiveStateHandler.prepare(ActiveStateHandler.java:173)
at com.atomikos.icatch.imp.CoordinatorImp.prepare(CoordinatorImp.java:832)
at com.atomikos.icatch.imp.CoordinatorImp.terminate(CoordinatorImp.java:1159)
at com.atomikos.icatch.imp.CompositeTerminatorImp.commit(CompositeTerminatorImp.java:92)
at com.atomikos.icatch.jta.TransactionImp.commit(TransactionImp.java:236)
at com.atomikos.icatch.jta.TransactionManagerImp.commit(TransactionManagerImp.java:498)
at com.atomikos.icatch.jta.J2eeUserTransaction.commit(J2eeUserTransaction.java:104)
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1010)有人能解释一下为什么会发生这种情况吗?
谢谢!
发布于 2014-01-28 21:46:15
我在HSQL帮助论坛上发布了同样的问题。在HSQL 2.3.1中,远程XA事务似乎还没有实现,但它们可能会在下一个版本中实现。
这是到the forum thread的链接。
https://stackoverflow.com/questions/21391954
复制相似问题