Error when committing XA transaction on auto-enlisted JDBC resource
Issue
Trying to commit a two phase XA transaction involving a JDBC resource that got auto-enlisted in the Aries transaction manager raises this error in the ESB log:
ERROR | Consumer[ESB_IN] | Transaction | 119 - org.apache.aries.transaction.manager - 1.0.1.fuse-71-047 |
Please correct the integration and supply a NamedXAResource
java.lang.IllegalStateException: Cannot log transactions as
com.mysql.jdbc.jdbc2.optional.JDBC4MysqlXAConnection@4a2b11c0 is not a NamedXAResource.
at org.apache.geronimo.transaction.manager.TransactionImpl$TransactionBranch.getResourceName(TransactionImpl.java:776)[119:org.apache.aries.transaction.manager:1.0.1.fuse-71-047]
at org.apache.aries.transaction.HOWLLog.prepare(HOWLLog.java:262)
at org.apache.geronimo.transaction.manager.TransactionImpl.internalPrepare(TransactionImpl.java:467)[119:org.apache.aries.transaction.manager:1.0.1.fuse-71-047]
at org.apache.geronimo.transaction.manager.TransactionImpl.commit(TransactionImpl.java:312)[119:org.apache.aries.transaction.manager:1.0.1.fuse-71-047]
at org.apache.geronimo.transaction.manager.TransactionManagerImpl.commit(TransactionManagerImpl.java:252)[119:org.apache.aries.transaction.manager:1.0.1.fuse-71-047]
at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:1009)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:754)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
at org.apache.aries.transaction.GeronimoPlatformTransactionManager.commit(GeronimoPlatformTransactionManager.java:76)
at sun.reflect.GeneratedMethodAccessor32.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)[:1.6.0_39]
at java.lang.reflect.Method.invoke(Method.java:597)[:1.6.0_39]
at org.apache.aries.proxy.impl.ProxyHandler$1.invoke(ProxyHandler.java:54)[13:org.apache.aries.proxy.impl:1.0.0]
at org.apache.aries.proxy.impl.ProxyHandler.invoke(ProxyHandler.java:119)[13:org.apache.aries.proxy.impl:1.0.0]
at sun.proxy.$Proxy46.commit(Unknown Source)[148:org.springframework.transaction:3.0.7.RELEASE]
at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:257)[153:org.springframework.jms:3.0.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058)[153:org.springframework.jms:3.0.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050)[153:org.springframework.jms:3.0.7.RELEASE]
at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947)[153:org.springframework.jms:3.0.7.RELEASE]
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)[:1.6.0_39]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)[:1.6.0_39]
at java.lang.Thread.run(Thread.java:680)[:1.6.0_39]
Environment
- JBoss Fuse 6.0
- Fuse ESB Enterprise 7.x
- Fuse ESB 4.4.x
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase, tools, and much more.