Jboss 4.2 not supporting XA transaction
faisal.faizan Feb 26, 2009 7:54 AMHi,
I was able to install Jboss Transaction 4.2.2 (full version, JTA & JTS) in my Jboss 4.2 server by following the instructions on the site
http://www.jboss.org/file-access/default/members/jbosstm/downloads/4.2.2/notes/jts_install.txt
I am trying to deploy a basic application which talks to queues on TIBCO EMS server. I am using mule ESB for the same. When I use non-XA transaction I am able to deploy my application properly with receivers on queue. But when I use an XA transaction I am getting "Cannot start XA transaction" error.
Note: I was not able to run it with the defalt JBossTS (JTA version) which comes with Jboss 4.2
The detailed error is
2009-02-26 06:05:06,350 DEBUG [org.mule.transaction.TransactionTemplate] Beginning transaction
2009-02-26 06:05:06,350 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@15914f3, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1f17c9e{ url=null ,addedOrder=0}
2009-02-26 06:05:06,350 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@15914f3, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@145ad3d{ url=null ,addedOrder=0}
2009-02-26 06:05:06,350 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@15914f3, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1708593{ url=null ,addedOrder=0}
2009-02-26 06:05:06,350 DEBUG [org.mule.transaction.XaTransaction] Beginning transaction
2009-02-26 06:05:06,350 DEBUG [org.mule.transaction.TransactionCoordination] Binding new transaction (1)
2009-02-26 06:05:06,350 DEBUG [org.mule.transaction.TransactionTemplate] Transaction successfully started
2009-02-26 06:05:06,350 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public native int java.lang.Object.hashCode()
2009-02-26 06:05:06,350 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public native int java.lang.Object.hashCode()
2009-02-26 06:05:06,350 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public abstract javax.jms.Message javax.jms.MessageConsumer.receive(long) throws javax.jms.JMSException
2009-02-26 06:05:06,350 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Enlistment request: org.mule.providers.jms.xa.ConnectionFactoryWrapper$ConnectionInvocationHandler$SessionInvocationHandler@1944379
2009-02-26 06:05:06,350 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Enlisting resource in xa transaction: com.tibco.tibjms.TibjmsXAResource@d9cc1a
2009-02-26 06:05:06,366 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@15914f3, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@99c4cc{ url=null ,addedOrder=0}
2009-02-26 06:05:06,366 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public java.lang.String java.lang.Object.toString()
2009-02-26 06:05:06,366 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public native int java.lang.Object.hashCode()
2009-02-26 06:05:06,366 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public native int java.lang.Object.hashCode()
2009-02-26 06:05:06,366 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public abstract void javax.transaction.xa.XAResource.start(javax.transaction.xa.Xid,int) throws javax.transaction.xa.XAException
2009-02-26 06:05:06,366 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public native int java.lang.Object.hashCode()
2009-02-26 06:05:15,850 INFO [com.arjuna.ats.arjuna.logging.arjLogger] Periodic recovery - second pass <Thu, 26 Feb 2009 06:05:15>
2009-02-26 06:05:15,850 INFO [com.arjuna.ats.arjuna.logging.arjLogger] AtomicActionRecoveryModule: Second pass
2009-02-26 06:05:15,850 INFO [com.arjuna.ats.txoj.logging.txojLoggerI18N] [com.arjuna.ats.internal.txoj.recovery.TORecoveryModule_6] - TORecoveryModule - second pass
2009-02-26 06:05:15,850 INFO [com.arjuna.ats.jts.logging.loggerI18N] [com.arjuna.ats.internal.jts.recovery.transactions.TopLevelTransactionRecoveryModule_4] [com.arjuna.ats.internal.jts.recovery.transactions.TopLevelTransactionRecoveryModule_4] - TopLevelTransactionRecoveryModule Second Pass
2009-02-26 06:05:15,850 INFO [com.arjuna.ats.jts.logging.logger] TransactionRecoveryModule.periodicWorkSecondPass()
2009-02-26 06:05:15,850 INFO [com.arjuna.ats.jts.logging.loggerI18N] [com.arjuna.ats.internal.jts.recovery.transactions.ServerTransactionRecoveryModule_4] [com.arjuna.ats.internal.jts.recovery.transactions.ServerTransactionRecoveryModule_4] - ServerTransactionRecoveryModule - Second Pass
2009-02-26 06:05:15,850 INFO [com.arjuna.ats.jta.logging.loggerI18N] [com.arjuna.ats.internal.jta.recovery.info.secondpass] JTS XARecoveryModule - second pass
2009-02-26 06:06:06,367 DEBUG [org.mule.transaction.TransactionTemplate] Transaction is marked for rollback
2009-02-26 06:06:06,367 DEBUG [org.mule.transaction.XaTransaction] Rolling back transaction
2009-02-26 06:06:06,383 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public native int java.lang.Object.hashCode()
2009-02-26 06:06:06,383 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public boolean java.lang.Object.equals(java.lang.Object)
2009-02-26 06:06:06,383 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public boolean java.lang.Object.equals(java.lang.Object)
2009-02-26 06:06:06,383 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public native int java.lang.Object.hashCode()
2009-02-26 06:06:06,383 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public boolean java.lang.Object.equals(java.lang.Object)
2009-02-26 06:06:06,383 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public boolean java.lang.Object.equals(java.lang.Object)
2009-02-26 06:06:06,383 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public abstract void javax.transaction.xa.XAResource.end(javax.transaction.xa.Xid,int) throws javax.transaction.xa.XAException
2009-02-26 06:06:06,383 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public abstract void javax.transaction.xa.XAResource.rollback(javax.transaction.xa.Xid) throws javax.transaction.xa.XAException
2009-02-26 06:06:06,383 DEBUG [org.mule.transaction.TransactionTemplate] Beginning transaction
2009-02-26 06:06:06,383 DEBUG [org.mule.transaction.XaTransaction] Beginning transaction
2009-02-26 06:06:06,383 WARN [jacorb.poa.controller] rid: 354 opname: create_subtransaction cannot process request, because object doesn't exist
2009-02-26 06:06:06,383 WARN [jacorb.poa.controller] rid: 354 opname: create_subtransaction request rejected with exception:
2009-02-26 06:06:06,398 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@15914f3, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@1c78f98{ url=null ,addedOrder=0}
2009-02-26 06:06:06,398 DEBUG [org.mule.config.i18n.Messages] Loading resource bundle: META-INF.services.org.mule.i18n.core-messages for locale en_US
2009-02-26 06:06:06,398 DEBUG [org.mule.config.i18n.Messages] Loading resource bundle: META-INF.services.org.mule.i18n.core-messages for locale en_US
2009-02-26 06:06:06,398 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public abstract void javax.jms.MessageConsumer.close() throws javax.jms.JMSException
2009-02-26 06:06:06,398 DEBUG [org.mule.providers.jms.xa.ConnectionFactoryWrapper] Invoking public abstract void javax.jms.Session.close() throws javax.jms.JMSException
2009-02-26 06:06:06,398 DEBUG [org.jboss.mx.loading.RepositoryClassLoader] setRepository, repository=org.jboss.mx.loading.HeirarchicalLoaderRepository3@15914f3, cl=org.jboss.mx.loading.HeirarchicalLoaderRepository3$CacheClassLoader@a47962{ url=null ,addedOrder=0}
2009-02-26 06:06:06,398 DEBUG [org.mule.config.i18n.Messages] Loading resource bundle: META-INF.services.org.mule.i18n.core-messages for locale en_US
2009-02-26 06:06:06,398 DEBUG [org.mule.config.i18n.Messages] Loading resource bundle: META-INF.services.org.mule.i18n.core-messages for locale en_US
2009-02-26 06:06:06,414 ERROR [org.mule.impl.DefaultExceptionStrategy]
********************************************************************************
Message : Can not start XA transaction
Type : org.mule.umo.TransactionException
Code : MULE_ERROR-90096
JavaDoc : http://mule.mulesource.org/docs/apidocs/org/mule/umo/TransactionException.html
********************************************************************************
Exception stack is:
1. org.omg.CORBA.INVALID_TRANSACTION: vmcid: 0x4000 minor code: 3617 completed: No (javax.transaction.SystemException)
com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction:138 (http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/transaction/SystemException.html)
2. Can not start XA transaction (org.mule.umo.TransactionException)
org.mule.transaction.XaTransaction:75 (http://mule.mulesource.org/docs/apidocs/org/mule/umo/TransactionException.html)
********************************************************************************
Root Exception stack trace:
javax.transaction.SystemException: org.omg.CORBA.INVALID_TRANSACTION: vmcid: 0x4000 minor code: 3617 completed: No
at com.arjuna.ats.internal.jta.transaction.jts.BaseTransaction.begin(BaseTransaction.java:138)
at com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.begin(BaseTransactionManagerDelegate.java:77)
at org.mule.transaction.XaTransaction.doBegin(XaTransaction.java:67)
at org.mule.transaction.AbstractTransaction.begin(AbstractTransaction.java:78)
at org.mule.transaction.XaTransactionFactory.beginTransaction(XaTransactionFactory.java:36)
at org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:67)
at org.mule.providers.TransactedPollingMessageReceiver.poll(TransactedPollingMessageReceiver.java:103)
at org.mule.providers.jms.TransactedJmsMessageReceiver.poll(TransactedJmsMessageReceiver.java:163)
at org.mule.providers.AbstractPollingMessageReceiver.run(AbstractPollingMessageReceiver.java:116)
at edu.emory.mathcs.backport.java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:442)
at edu.emory.mathcs.backport.java.util.concurrent.FutureTask.runAndReset(FutureTask.java:198)
at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:138)
at edu.emory.mathcs.backport.java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:238)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:987)
at edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:528)
at java.lang.Thread.run(Thread.java:595)
********************************************************************************