Discussion:
Mule Problem with XA transaction and JMS Weblogic 10.3
cpalm3
15 years ago
Permalink
Hello,
Having trouble trying to get XA transactions to work on a JMS inbound with
XA transactions. Once the server comes up, after several pollls, it times
out and throws an rollback exception even though there is no message in the
queue. With non-xa transactions this works fine.
I have seen this problem in several posts, but the proposed solution of
keeping the container jta timeout smaller than the Mule timeout doesn't seem
to work.
Any help on this is appreciated, Details below.

Thanks,
Chris

Stack:

2010-02-11 16:18:35,642 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-11 16:18:45,642 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-11 16:18:55,642 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-11 16:19:05,642 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-11 16:19:08,720 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
***@1d34eac
2010-02-11 16:19:08,720 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
***@1d34eac
2010-02-11 16:19:08,720 ERROR DefaultExceptionStrategy:397 - Caught
exception in Exception Strategy: Cannot mark the transaction for rollback.
xid=BEA1-000E278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000E278D9B478CFC0BE0]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=BEA1-000E278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000E278D9B478CFC0BE0]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(TransactionImpl.java:1829)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:549)
at
org.mule.transaction.XaTransaction.setRollbackOnly(XaTransaction.java:238)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.getMessages(XaTransactedJmsMessageReceiver.java:240)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver$1.doInTransaction(XaTransactedJmsMessageReceiver.java:174)
at
org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:99)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.poll(XaTransactedJmsMessageReceiver.java:208)
at
org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:47)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Thread.java:619)
2010-02-11 16:19:08,720 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
***@1d34eac
2010-02-11 16:19:08,720 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
***@1d34eac
2010-02-11 16:19:08,720 ERROR DefaultExceptionStrategy:397 - Caught
exception in Exception Strategy: Cannot mark the transaction for rollback.
xid=BEA1-000C278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000C278D9B478CFC0BE0]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=BEA1-000C278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000C278D9B478CFC0BE0]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(TransactionImpl.java:1829)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:549)
at
org.mule.transaction.XaTransaction.setRollbackOnly(XaTransaction.java:238)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.getMessages(XaTransactedJmsMessageReceiver.java:240)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver$1.doInTransaction(XaTransactedJmsMessageReceiver.java:174)
at
org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:99)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.poll(XaTransactedJmsMessageReceiver.java:208)
at
org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:47)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Thread.java:619)
2010-02-11 16:19:08,720 ERROR DefaultExceptionStrategy:397 - Caught
exception in Exception Strategy: Cannot mark the transaction for rollback.
xid=BEA1-000E278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000E278D9B478CFC0BE0]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=BEA1-000E278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000E278D9B478CFC0BE0]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(TransactionImpl.java:1829)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:549)
at
org.mule.transaction.XaTransaction.setRollbackOnly(XaTransaction.java:238)
at
org.mule.AbstractExceptionListener.rollbackTransaction(AbstractExceptionListener.java:246)
at
org.mule.AbstractExceptionListener.handleTransaction(AbstractExceptionListener.java:225)
at
org.mule.AbstractExceptionListener.exceptionThrown(AbstractExceptionListener.java:131)
at
org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:122)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.poll(XaTransactedJmsMessageReceiver.java:208)
at
org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:47)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Thread.java:619)
2010-02-11 16:19:08,720 ERROR DefaultExceptionStrategy:397 - Caught
exception in Exception Strategy: Cannot mark the transaction for rollback.
xid=BEA1-000D278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000D278D9B478CFC0BE0]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=BEA1-000D278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000D278D9B478CFC0BE0]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(TransactionImpl.java:1829)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:549)
at
org.mule.transaction.XaTransaction.setRollbackOnly(XaTransaction.java:238)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.getMessages(XaTransactedJmsMessageReceiver.java:240)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver$1.doInTransaction(XaTransactedJmsMessageReceiver.java:174)
at
org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:99)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.poll(XaTransactedJmsMessageReceiver.java:208)
at
org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:47)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Thread.java:619)
2010-02-11 16:19:08,720 ERROR DefaultExceptionStrategy:397 - Caught
exception in Exception Strategy: Cannot mark the transaction for rollback.
xid=BEA1-000C278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000C278D9B478CFC0BE0]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=BEA1-000C278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000C278D9B478CFC0BE0]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(TransactionImpl.java:1829)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:549)
at
org.mule.transaction.XaTransaction.setRollbackOnly(XaTransaction.java:238)
at
org.mule.AbstractExceptionListener.rollbackTransaction(AbstractExceptionListener.java:246)
at
org.mule.AbstractExceptionListener.handleTransaction(AbstractExceptionListener.java:225)
at
org.mule.AbstractExceptionListener.exceptionThrown(AbstractExceptionListener.java:131)
at
org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:122)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.poll(XaTransactedJmsMessageReceiver.java:208)
at
org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:47)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Thread.java:619)
2010-02-11 16:19:08,720 ERROR DefaultExceptionStrategy:397 - Caught
exception in Exception Strategy: Cannot mark the transaction for rollback.
xid=BEA1-000B278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000B278D9B478CFC0BE0]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=BEA1-000B278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000B278D9B478CFC0BE0]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(TransactionImpl.java:1829)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:549)
at
org.mule.transaction.XaTransaction.setRollbackOnly(XaTransaction.java:238)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.getMessages(XaTransactedJmsMessageReceiver.java:240)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver$1.doInTransaction(XaTransactedJmsMessageReceiver.java:174)
at
org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:99)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.poll(XaTransactedJmsMessageReceiver.java:208)
at
org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:47)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Thread.java:619)
2010-02-11 16:19:08,720 ERROR DefaultExceptionStrategy:397 - Caught
exception in Exception Strategy: Cannot mark the transaction for rollback.
xid=BEA1-000D278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000D278D9B478CFC0BE0]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=BEA1-000D278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000D278D9B478CFC0BE0]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(TransactionImpl.java:1829)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:549)
at
org.mule.transaction.XaTransaction.setRollbackOnly(XaTransaction.java:238)
at
org.mule.AbstractExceptionListener.rollbackTransaction(AbstractExceptionListener.java:246)
at
org.mule.AbstractExceptionListener.handleTransaction(AbstractExceptionListener.java:225)
at
org.mule.AbstractExceptionListener.exceptionThrown(AbstractExceptionListener.java:131)
at
org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:122)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.poll(XaTransactedJmsMessageReceiver.java:208)
at
org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:47)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Thread.java:619)
2010-02-11 16:19:08,736 ERROR DefaultExceptionStrategy:397 - Caught
exception in Exception Strategy: Cannot mark the transaction for rollback.
xid=BEA1-000B278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000B278D9B478CFC0BE0]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=BEA1-000B278D9B478CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 29 seconds
BEA1-000B278D9B478CFC0BE0]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(TransactionImpl.java:1829)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:549)
at
org.mule.transaction.XaTransaction.setRollbackOnly(XaTransaction.java:238)
at
org.mule.AbstractExceptionListener.rollbackTransaction(AbstractExceptionListener.java:246)
at
org.mule.AbstractExceptionListener.handleTransaction(AbstractExceptionListener.java:225)
at
org.mule.AbstractExceptionListener.exceptionThrown(AbstractExceptionListener.java:131)
at
org.mule.transaction.TransactionTemplate.execute(TransactionTemplate.java:122)
at
org.mule.transport.jms.XaTransactedJmsMessageReceiver.poll(XaTransactedJmsMessageReceiver.java:208)
at
org.mule.transport.PollingReceiverWorker.run(PollingReceiverWorker.java:47)
at org.mule.work.WorkerContext.run(WorkerContext.java:310)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1061)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:575)
at java.lang.Thread.run(Thread.java:619)
2010-02-11 16:19:08,783 DEBUG XaTransactedJmsMessageReceiver:164 -
Polling...
2010-02-11 16:19:08,783 DEBUG TransactionTemplate:88 - Beginning transaction
2010-02-11 16:19:08,783 DEBUG SpringRegistry:132 -
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean
named '_muleTransactionManager' is defined
2010-02-11 16:19:08,783 DEBUG DefaultListableBeanFactory:214 - Returning
cached instance of singleton bean 'org.mule.autogen.bean.12'
2010-02-11 16:19:08,783 DEBUG XaTransaction:78 - Beginning transaction
2010-02-11 16:19:08,783 DEBUG TransactionCoordination:112 - Binding new
transaction (9)
Xid=BEA1-0014278D9B47(9305556),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=0,seconds
left=30,activeThread=Thread[jmsConnector.receiver.10,5,Pooled
Threads],SCInfo[admindomain2+AdminServer2]=(state=active),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})])
2010-02-11 16:19:08,783 DEBUG TransactionTemplate:90 - Transaction
successfully started:
Xid=BEA1-0014278D9B47(9305556),Status=Active,numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=0,seconds
left=30,activeThread=Thread[jmsConnector.receiver.10,5,Pooled
Threads],SCInfo[admindomain2+AdminServer2]=(state=active),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})])
2010-02-11 16:19:08,783 DEBUG ConnectionFactoryWrapper:50 - Invoking public
native int java.lang.Object.hashCode()
2010-02-11 16:19:08,783 DEBUG XaTransactedJmsMessageReceiver:319 - Create a
consumer for the jms destination
2010-02-11 16:19:08,783 DEBUG ConnectionFactoryWrapper:50 - Invoking public
native int java.lang.Object.hashCode()
2010-02-11 16:19:08,783 DEBUG WeblogicJmsConnector:573 - Retrieving new jms
session from connection: topic=false, transacted=true, ack mode=1,
nolocal=false
2010-02-11 16:19:08,783 DEBUG ConnectionFactoryWrapper:50 - Invoking public
abstract javax.jms.Session javax.jms.Connection.createSession(boolean,int)
throws javax.jms.JMSException
2010-02-11 16:19:08,783 DEBUG XaTransactedJmsMessageReceiver:164 -
Polling...
2010-02-11 16:19:08,783 DEBUG TransactionTemplate:88 - Beginning transaction
2010-02-11 16:19:08,783 DEBUG SessionInvocationHandler:74 -
***@a4fe7c Invoking public
java.lang.String java.lang.Object.toString()
2010-02-11 16:19:08,783 DEBUG SpringRegistry:132 -
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean
named '_muleTransactionManager' is defined
2010-02-11 16:19:08,783 DEBUG XaTransactedJmsMessageRecei




mule-config.xml
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns="http://www.mulesource.org/schema/mule/core/2.2"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:stdio="http://www.mulesource.org/schema/mule/stdio/2.2"
xmlns:jms="http://www.mulesource.org/schema/mule/jms/2.2"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xm="http://www.mulesource.org/schema/mule/xml/2.2"
xmlns:jdbc="http://www.mulesource.org/schema/mule/jdbc/2.2"
xmlns:jbossts="http://www.mulesource.org/schema/mule/jbossts/2.2"




xsi:schemaLocation="
http://www.mulesource.org/schema/mule/core/2.2
http://www.mulesource.org/schema/mule/core/2.2/mule.xsd
http://www.mulesource.org/schema/mule/stdio/2.2
http://www.mulesource.org/schema/mule/stdio/2.2/mule-stdio.xsd
http://www.mulesource.org/schema/mule/jms/2.2
http://www.mulesource.org/schema/mule/jms/2.2/mule-jms.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.mulesource.org/schema/mule/xml/2.2
http://www.mulesource.org/schema/mule/xml/2.2/mule-xml.xsd
http://www.mulesource.org/schema/mule/jdbc/2.2
http://www.mulesource.org/schema/mule/jdbc/2.2/mule-jdbc.xsd
http://www.mulesource.org/schema/mule/jbossts/2.2
http://www.mulesource.org/schema/mule/jbossts/2.2/mule-jbossts.xsd">



<!--
<jms:connector name="jmsConnector"
connectionFactory-ref="jmsConnectorSpring"
specification="1.1"
jndiDestinations="true"
forceJndiDestinations="true">
<spring:property name="jmsSupport" ref="jndiJmsSupport"
/>
</jms:connector> -->

<!-- Import Spring Configuration -->
<spring:beans>
<spring:import resource="classpath:MuleServiceApplicationContext.xml" />
</spring:beans>

<!-- Weblogic JMS Connector working -->
<jms:weblogic-connector name="jmsConnector"

connectionFactoryJndiName="jms/WebPricerApp/ConnectionFactory"
jndiDestinations="true"
forceJndiDestinations="true"


jndiInitialFactory="weblogic.jndi.WLInitialContextFactory"
specification="1.1"/>



<jdbc:connector name="jdbcConnector" dataSource-ref="dataSource">
<jdbc:query key="statsInsert" value="insert into track_record values
((select max(track_record_id+1) from track_record), 3,3,7, sysdate,
sysdate,'MULE', 'localhost', 'ASDFFGHJL')"/>
</jdbc:connector>

<!--<stdio:connector name="SystemStreamConnector"
promptMessage="Please enter something: "
messageDelayTime="1000"/> -->

<!-- <xm:object-to-xml-transformer name="OXM"/>
<custom-transformer class="org.mule.module.xml.transformer.ObjectToXml"
name="OXM">
<spring:property name="aliases">
<spring:map>
<spring:entry key="ClaimData"
value="com.hns.claims.claim.interfaces.ClaimData" />
</spring:map>
</spring:property>
</custom-transformer> -->

<!-- <jbossts:transaction-manager/> -->

<weblogic-transaction-manager/>

<model name="muleServiceModel">



<service name="muleService">
<inbound>

<jms:inbound-endpoint queue="jms/WebPricerApp/repricerQueue"
connector-ref="jmsConnector">
<transformers>
<jms:jmsmessage-to-object-transformer/>
<custom-transformer
class="com.viant.service.mule.MuleServiceRequestTransformer"/>
</transformers>

<jms:selector expression=""/>

<!-- <jms:transaction action="ALWAYS_BEGIN" timeout="60000"/> -->
<xa-transaction action="ALWAYS_BEGIN" timeout="250000"/>
</jms:inbound-endpoint>
<selective-consumer-router>
<regex-filter pattern="200127BR1WRB"/>
</selective-consumer-router>
</inbound>


<!-- <component>
<method-entry-point-resolver transformFirst="true">
<include-entry-point method="getClaimData"/>
</method-entry-point-resolver>
<spring-object bean="cdiServices"/>
</component> -->

<outbound>
<pass-through-router>

<!-- <stdio:outbound-endpoint system="OUT">
<xa-transaction action="NONE"/>
</stdio:outbound-endpoint> -->

<jdbc:outbound-endpoint queryKey="statsInsert"
connector-ref="jdbcConnector">
<custom-transformer
class="com.viant.service.mule.ClaimToMapTransformer"/>
<!-- <jdbc:transaction action="NONE"/> -->
<xa-transaction action="ALWAYS_JOIN"/>
</jdbc:outbound-endpoint>
</pass-through-router>
</outbound>
</service>
</model>
</mule>


Weblogic JMS module

<?xml version='1.0' encoding='UTF-8'?>
<weblogic-jms xmlns="http://www.bea.com/ns/weblogic/weblogic-jms"
xmlns:sec="http://www.bea.com/ns/weblogic/90/security"
xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-jms
http://www.bea.com/ns/weblogic/weblogic-jms/1.0/weblogic-jms.xsd">
<connection-factory name="WebpricerConnectionFactory">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>jms/WebPricerApp/ConnectionFactory</jndi-name>
<transaction-params>
<transaction-timeout>0</transaction-timeout>
<xa-connection-factory-enabled>true</xa-connection-factory-enabled>
</transaction-params>
<security-params>
<attach-jmsx-user-id>false</attach-jmsx-user-id>
</security-params>
</connection-factory>
<uniform-distributed-queue name="WebPricer - repricerQueue">
<default-targeting-enabled>true</default-targeting-enabled>
<jndi-name>jms/WebPricerApp/repricerQueue</jndi-name>
<load-balancing-policy>Round-Robin</load-balancing-policy>
</uniform-distributed-queue>
</weblogic-jms>
--
View this message in context: http://old.nabble.com/Mule-Problem-with-XA-transaction-and-JMS-Weblogic-10.3-tp27555942p27555942.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email
Andrew Perepelytsya
15 years ago
Permalink
Why is xa transaction timeout set to 250000? You have to coordinate it with
a TX timeout set in WL admin console, try setting Mule's timeout lower than
it.

HTH,
Andrew
cpalm3
15 years ago
Permalink
Andrew,
Thanks for your reply.
I have actually tried the following combinations.
Where Mule is smaller and larger than the WL tx value.
None of these settings changed the behavior.

Mule tx= 60,000 WL tx=180,000
250,000 180,000
250,000 0

Are there any other settings I should try?

Thanks again,
Chris
Post by Andrew Perepelytsya
Why is xa transaction timeout set to 250000? You have to coordinate it with
a TX timeout set in WL admin console, try setting Mule's timeout lower than
it.
HTH,
Andrew
--
View this message in context: http://old.nabble.com/Mule-Problem-with-XA-transaction-and-JMS-Weblogic-10.3-tp27555942p27556382.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email
Andrew Perepelytsya
15 years ago
Permalink
Did it always fail with the same error? Why 29 seconds? What Mule version?

Andrew

On Feb 11, 2010 6:04 PM, "cpalm3" <cpalm3-***@public.gmane.org> wrote:


Andrew,
Thanks for your reply.
I have actually tried the following combinations.
Where Mule is smaller and larger than the WL tx value.
None of these settings changed the behavior.

Mule tx= 60,000 WL tx=180,000
250,000 180,000
250,000 0

Are there any other settings I should try?

Thanks again,
Chris
Why is xa transaction timeout set to 250000? You have to coordinat...
--
View this message in context:
http://old.nabble.com/Mule-Problem-with-XA-transaction-and-JMS-Weblogic-10.3-tp27555942p27556382.html

Sent from the Mule - User mailing list archive at Nabble.com.


------------------------------------...
cpalm3
15 years ago
Permalink
Yes, the error is the same.
For fun and excitement I changed both tx values to be equal
wl = 60 sec and mule = 60,000 mili sec and got the same results.
Nothing special about the tx values other than I need to set a consistent
value across
a JMS inbound and a JDBC outbound.
We are using Mule community edition version 2.2.1

Thanks,
Chris

stack with values set same
2010-02-11 17:23:22,423 DEBUG SessionInvocationHandler:74 -
***@13572b7 Invoking public
abstract javax.jms.MessageConsumer
javax.jms.Session.createConsumer(javax.jms.Destination,java.lang.String)
throws javax.jms.JMSException
2010-02-11 17:23:31,142 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-11 17:23:41,142 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-11 17:23:51,142 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-11 17:24:01,142 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-11 17:24:03,423 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
***@16d74a
2010-02-11 17:24:03,423 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
***@16d74a
2010-02-11 17:24:03,423 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
***@16d74a
2010-02-11 17:24:03,423 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
***@16d74a
2010-02-11 17:24:03,423 ERROR DefaultExceptionStrategy:397 - Caught
exception in Exception Strategy: Cannot mark the transaction for rollback.
xid=BEA1-0004E82BE47F8CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 31 seconds
BEA1-0004E82BE47F8CFC0BE0]
java.lang.IllegalStateException: Cannot mark the transaction for rollback.
xid=BEA1-0004E82BE47F8CFC0BE0, status=Rolled back.
[Reason=weblogic.transaction.internal.TimedOutException: Transaction timed
out after 31 seconds
BEA1-0004E82BE47F8CFC0BE0]
at
weblogic.transaction.internal.TransactionImpl.throwIllegalStateException(TransactionImpl.java:1829)
at
weblogic.transaction.internal.TransactionImpl.setRollbackOnly(TransactionImpl.java:549)
at
org.mule.transaction.XaTransaction.setRollbackOnly(XaTransaction.java:238)
...
--
View this message in context: http://old.nabble.com/Mule-Problem-with-XA-transaction-and-JMS-Weblogic-10.3-tp27555942p27556677.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email
Richard Swart
15 years ago
Permalink
When you say none of the settings changed behaviour do you mean that you still see a timeout after 30 seconds? If so, this is strange as after changing the wl timeout to 180,000 it should timeout after 3 minutes.

In this case try to set tx timeout on the Mule endpoint to 20,000 (so smaller thatn 30 seconds).

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email
cpalm3
15 years ago
Permalink
Richard,
Good idea. I set mule to 20,000 and it still times out in 30 sec.
I believe the 30 sec is coming from the JTA domain timeout value and not the
connection factory, as suggested by Kevin. The connection factory timeout is
set to 60sec..

Why does Mule timeout at all when polling the jms queue?
Any other suggestions?

Thanks,
Chris
Post by Richard Swart
When you say none of the settings changed behaviour do you mean that you
still see a timeout after 30 seconds? If so, this is strange as after
changing the wl timeout to 180,000 it should timeout after 3 minutes.
In this case try to set tx timeout on the Mule endpoint to 20,000 (so
smaller thatn 30 seconds).
---------------------------------------------------------------------
http://xircles.codehaus.org/manage_email
--
View this message in context: http://old.nabble.com/Mule-Problem-with-XA-transaction-and-JMS-Weblogic-10.3-tp27555942p27565468.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email
cpalm3
15 years ago
Permalink
Kevin,
Glad to hear there is a WL success story out there!
You are correct, I forgot about the domain JTA value.
That is set to 30, and the connection factory is set to 60 sec.

Did you keep your Mule tx value less that the wl values?
Also did you keep your connection factory and jta values the same?

Thanks,
Chris
...
--
View this message in context: http://old.nabble.com/Mule-Problem-with-XA-transaction-and-JMS-Weblogic-10.3-tp27555942p27565493.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email
Farrell, Kevin (ICTL_eCust_05)
15 years ago
Permalink
Hi Chris,

There's the problem. You need to increase the JTA to be greater than the Mule
timeout or else Weblogic will timeout your XA transactions.
From my experience what Mule does is that it starts a transaction when it
starts polling regardless of whether there is a message to be consumed.

Regards,
Kevin.


-----Original Message-----
From: cpalm3 [mailto:cpalm3-***@public.gmane.org]
Sent: 12 February 2010 15:46
To: user-acMY5gnxSBZICAUklc1DCNi2O/***@public.gmane.org
Subject: Re: [mule-user] Mule Problem with XA transaction and JMS
Weblogic 10.3


*************************************

This e-mail has been received by the Revenue Internet e-mail service. (IP)

*************************************


Richard,
Good idea. I set mule to 20,000 and it still times out in 30 sec.
I believe the 30 sec is coming from the JTA domain timeout value and not the
connection factory, as suggested by Kevin. The connection factory timeout is
set to 60sec..

Why does Mule timeout at all when polling the jms queue?
Any other suggestions?

Thanks,
Chris
When you say none of the settings changed behaviour do you mean that you
still see a timeout after 30 seconds? If so, this is strange as after
changing the wl timeout to 180,000 it should timeout after 3 minutes.
In this case try to set tx timeout on the Mule endpoint to 20,000 (so
smaller thatn 30 seconds).
---------------------------------------------------------------------
http://xircles.codehaus.org/manage_email
--
View this message in context:
http://old.nabble.com/Mule-Problem-with-XA-transaction-and-JMS-Weblogic-10.3-
tp27555942p27565468.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email




*********************************************************************

Please note that Revenue cannot guarantee that any personal
and sensitive data, sent in plain text via standard email,
is fully secure. Customers who choose to use this channel
are deemed to have accepted any risk involved. The alternative
communication methods offered by Revenue include standard post
and the option to register for our (encrypted) secure email service.
http://www.revenue.ie/en/practitioner/secure-email.html

*********************************************************************

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email
cpalm3
15 years ago
Permalink
Kevin,
Just tried this again, I had marked up the wrong tx last time.
So Mule is 20,0000, jta and connfactory is 30 sec.

I think this may be correct, I don't see the same exceptions,
I see the mule tx value kick in now.
Also just ran a payload through successfully!

Thanks everyone for all your help!

Regards,
Chris

log output
010-02-12 10:00:01,979 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-12 10:00:11,979 DEBUG SedaService:436 - Service muleService polling
queue muleService.service, timeout = 10,000
2010-02-12 10:00:13,370 DEBUG TransactionTemplate:173 - Transaction has been
marked rollbackOnly, rolling it back:
Xid=BEA1-0001055CF9F38CFC0BE0(17846274),Status=Marked rollback.
[Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=20,seconds
left=30,activeThread=Thread[jmsConnector.receiver.3,5,Pooled
Threads],XAServerResourceInfo[org.mule.transport.jms.xa.XAResourceWrapper]=(ServerResourceInfo[org.mule.transport.jms.xa.XAResourceWrapper]=(state=started,assigned=none),xar=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})].XAResource,re-Registered
=
false),SCInfo[admindomain2+AdminServer2]=(state=active),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})],CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+)
2010-02-12 10:00:13,370 DEBUG XaTransaction:118 - Rolling back transaction
2010-02-12 10:00:13,370 DEBUG TransactionTemplate:173 - Transaction has been
marked rollbackOnly, rolling it back:
Xid=BEA1-0002055CF9F38CFC0BE0(8099147),Status=Marked rollback.
[Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=20,seconds
left=30,activeThread=Thread[jmsConnector.receiver.2,5,Pooled
Threads],XAServerResourceInfo[org.mule.transport.jms.xa.XAResourceWrapper]=(ServerResourceInfo[org.mule.transport.jms.xa.XAResourceWrapper]=(state=started,assigned=none),xar=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})].XAResource,re-Registered
=
false),SCInfo[admindomain2+AdminServer2]=(state=active),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})],CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+)
2010-02-12 10:00:13,370 DEBUG XaTransaction:118 - Rolling back transaction
2010-02-12 10:00:13,370 DEBUG TransactionTemplate:173 - Transaction has been
marked rollbackOnly, rolling it back:
Xid=BEA1-0003055CF9F38CFC0BE0(29975698),Status=Marked rollback.
[Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=20,seconds
left=30,activeThread=Thread[jmsConnector.receiver.1,5,Pooled
Threads],XAServerResourceInfo[org.mule.transport.jms.xa.XAResourceWrapper]=(ServerResourceInfo[org.mule.transport.jms.xa.XAResourceWrapper]=(state=started,assigned=none),xar=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})].XAResource,re-Registered
=
false),SCInfo[admindomain2+AdminServer2]=(state=active),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})],CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+)
2010-02-12 10:00:13,370 DEBUG XaTransaction:118 - Rolling back transaction
2010-02-12 10:00:13,370 DEBUG TransactionTemplate:173 - Transaction has been
marked rollbackOnly, rolling it back:
Xid=BEA1-0004055CF9F38CFC0BE0(5444480),Status=Marked rollback.
[Reason=weblogic.transaction.internal.AppSetRollbackOnlyException],numRepliesOwedMe=0,numRepliesOwedOthers=0,seconds
since begin=20,seconds
left=30,activeThread=Thread[jmsConnector.receiver.4,5,Pooled
Threads],XAServerResourceInfo[org.mule.transport.jms.xa.XAResourceWrapper]=(ServerResourceInfo[org.mule.transport.jms.xa.XAResourceWrapper]=(state=started,assigned=none),xar=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})].XAResource,re-Registered
=
false),SCInfo[admindomain2+AdminServer2]=(state=active),OwnerTransactionManager=ServerTM[ServerCoordinatorDescriptor=(CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+,
XAResources={Mule - ClaimsUpdate, WLStore_admindomain2__WLS_AdminServer2,
org.mule.transport.jms.xa.XAResourceWrapper},NonXAResources={})],CoordinatorURL=AdminServer2+nap2sd612:2009+admindomain2+t3+)
2010-02-12 10:00:13,370 DEBUG XaTransaction:118 - Rolling back transaction
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
***@8a93d9 Invoking public
abstract boolean
org.mule.transaction.XaTransaction$MuleXaObject.isReuseObject()
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
***@1ef158 Invoking public
abstract boolean
org.mule.transaction.XaTransaction$MuleXaObject.isReuseObject()
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
***@176fbc2 Invoking public
abstract boolean
org.mule.transaction.XaTransaction$MuleXaObject.isReuseObject()
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
***@362a7b Invoking public
abstract boolean
org.mule.transaction.XaTransaction$MuleXaObject.isReuseObject()
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
***@176fbc2 Invoking public
abstract void javax.jms.Session.close() throws javax.jms.JMSException
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
***@1ef158 Invoking public
abstract void javax.jms.Session.close() throws javax.jms.JMSException
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
***@8a93d9 Invoking public
abstract void javax.jms.Session.close() throws javax.jms.JMSException
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
org.mule.transport.jms.xa.SessionInvocation
...
--
View this message in context: http://old.nabble.com/Mule-Problem-with-XA-transaction-and-JMS-Weblogic-10.3-tp27555942p27565757.html
Sent from the Mule - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe from this list, please visit:

http://xircles.codehaus.org/manage_email
Loading...