On Sun, Aug 2, 2009 at 11:17 PM, Rajika Kumarasiri <[email protected]> wrote:
hello everybody,
I just looked into the problem and it seems the current thread is already
associate with a transaction. I guess we need to get the status of the
current transaction and if there is an existing one we need to join with it
otherwise we need to start a transaction.

-Rajika


hello everybody,
> I am trying to use JTA transaction in JMS transport. I deployed the the
> latest synapse war distribution(I studied that we need to have a JTA
> provider within the J2EE server where we deploy synpase),  inside JBoss
> 5.0.0 GA. It gives the following execption when I use a JTA trasaction
> (<parameter name="transport.Transactionality">jta</parameter>). It works
> fine with local transactions(<parameter
> name="transport.Transactionality">local</parameter>).  According to the
> stack trace it's clear that we are trying to start a new transaction inside
> the JMS transport while another tx is already in progress.  Any help to fix
> the issue is higly appriciated. Thanks in advance.
>
> My axis2.xml configuration for JMS transport listner is as follows.
>
> <transportReceiver name='jms'
> class='org.apache.axis2.transport.jms.JMSListener'>
>         <parameter name='default' locked='false'>
>             <parameter
> name='java.naming.factory.initial'>org.jnp.interfaces.NamingContextFactory</parameter>
>             <parameter
> name='java.naming.provider.url'>jnp://localhost:1099</parameter>
>             <parameter
> name='java.naming.factory.url.pkgs'>org.jboss.naming:org.jnp.interfaces</parameter>
>             <parameter
> name='transport.jms.ConnectionFactoryJNDIName'>ConnectionFactory</parameter>
>             <parameter name="transport.Transactionality">jta</parameter>
>             <parameter
> name="transport.UserTxnJNDIName">java:comp/UserTransaction</parameter>
>          </parameter>
>     </transportReceiver>
>
>
> 21:51:41,679 INFO  [STDOUT] 21:51:41,678 ERROR [ServiceTaskManager]
> Listener Task is already associated with a transaction
> javax.transaction.NotSupportedException:
> BaseTransaction.checkTransactionState -
> [com.arjuna.ats.internal.jta.transaction.arjunacore.alreadyassociated]
> [com.arjuna.ats.internal.jta.transaction.arjunacore.alreadyassociated]
> thread is already associated with a transaction!
>     at
> com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.begin(BaseTransaction.java:79)
>     at
> com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.begin(BaseTransactionManagerDelegate.java:65)
>     at
> org.jboss.tm.usertx.client.ServerVMClientUserTransaction.begin(ServerVMClientUserTransaction.java:137)
>     at
> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:394)
>     at
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>     at java.lang.Thread.run(Thread.java:595)
> 21:51:41,679 INFO  [STDOUT] 21:51:41,679 ERROR [NativeWorkerPool] Uncaught
> exception
> org.apache.axis2.transport.jms.AxisJMSException: Listener Task is already
> associated with a transaction
>     at
> org.apache.axis2.transport.jms.ServiceTaskManager.handleException(ServiceTaskManager.java:957)
>     at
> org.apache.axis2.transport.jms.ServiceTaskManager.access$700(ServiceTaskManager.java:48)
>     at
> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:397)
>     at
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
>     at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
>     at java.lang.Thread.run(Thread.java:595)
> Caused by: javax.transaction.NotSupportedException:
> BaseTransaction.checkTransactionState -
> [com.arjuna.ats.internal.jta.transaction.arjunacore.alreadyassociated]
> [com.arjuna.ats.internal.jta.transaction.arjunacore.alreadyassociated]
> thread is already associated with a transaction!
>     at
> com.arjuna.ats.internal.jta.transaction.arjunacore.BaseTransaction.begin(BaseTransaction.java:79)
>     at
> com.arjuna.ats.jbossatx.BaseTransactionManagerDelegate.begin(BaseTransactionManagerDelegate.java:65)
>     at
> org.jboss.tm.usertx.client.ServerVMClientUserTransaction.begin(ServerVMClientUserTransaction.java:137)
>     at
> org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:394)
>     ... 4 more
> 21:51:41,697 INFO  [STDOUT] 21:51:41,678 ERROR [ServiceTaskManager]
> Listener Task is already associ
>
>
>
>
> --
> http://wso2.org
> http://llvm.org
> http://www.minix3.org/
>
>
>


-- 
http://wso2.org
http://llvm.org
http://www.minix3.org/

Reply via email to