[mule-user] Mule Problem with XA transaction and JMS Weblogic 10.3

81 views
Skip to first unread message

cpalm3

unread,
Feb 11, 2010, 5:35:19 PM2/11/10
to us...@mule.codehaus.org

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:
org.mule.DefaultExceptionStrategy@1d34eac
2010-02-11 16:19:08,720 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
org.mule.DefaultExceptionStrategy@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:
org.mule.DefaultExceptionStrategy@1d34eac
2010-02-11 16:19:08,720 INFO TransactionTemplate:120 - Exception Caught in
Transaction template. Handing off to exception handler:
org.mule.DefaultExceptionStrategy@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 -
org.mule.transport.jms.xa.SessionInvocationHandler@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

unread,
Feb 11, 2010, 5:41:11 PM2/11/10
to us...@mule.codehaus.org
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

unread,
Feb 11, 2010, 6:04:15 PM2/11/10
to us...@mule.codehaus.org

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

--
View this message in context: http://old.nabble.com/Mule-Problem-with-XA-transaction-and-JMS-Weblogic-10.3-tp27555942p27556382.html

Andrew Perepelytsya

unread,
Feb 11, 2010, 6:14:53 PM2/11/10
to us...@mule.codehaus.org

Did it always fail with the same error? Why 29 seconds? What Mule version?

Andrew

On Feb 11, 2010 6:04 PM, "cpalm3" <cpa...@gmail.com> 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



Andrew Perepelytsya wrote:
>
> Why is xa transaction timeout set to 250000? You have to coordinat...

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


------------------------------------...

cpalm3

unread,
Feb 11, 2010, 6:27:10 PM2/11/10
to us...@mule.codehaus.org

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 -
org.mule.transport.jms.xa.SessionInvocationHandler@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:

org.mule.DefaultExceptionStrategy@16d74a
2010-02-11 17:24:03,423 INFO TransactionTemplate:120 - Exception Caught in


Transaction template. Handing off to exception handler:

org.mule.DefaultExceptionStrategy@16d74a
2010-02-11 17:24:03,423 INFO TransactionTemplate:120 - Exception Caught in


Transaction template. Handing off to exception handler:

org.mule.DefaultExceptionStrategy@16d74a
2010-02-11 17:24:03,423 INFO TransactionTemplate:120 - Exception Caught in


Transaction template. Handing off to exception handler:

org.mule.DefaultExceptionStrategy@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.

Richard Swart

unread,
Feb 12, 2010, 6:31:26 AM2/12/10
to us...@mule.codehaus.org
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).

Farrell, Kevin (ICTL_eCust_05)

unread,
Feb 12, 2010, 9:08:43 AM2/12/10
to us...@mule.codehaus.org

Hi Chris,

I've had no problems with Weblogic 9.2 and XA timeouts.

Which WL timeout are you setting? Transaction timeout on the Connection
Factory or the JTA timeout for the domain?

Regards,
Kevin.


-----Original Message-----
From: cpalm3 [mailto:cpa...@gmail.com]
Sent: 11 February 2010 23:27
To: us...@mule.codehaus.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)

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

Thanks,
Chris

---------------------------------------------------------------------
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

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

cpalm3

unread,
Feb 12, 2010, 10:46:15 AM2/12/10
to us...@mule.codehaus.org

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

--
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.

cpalm3

unread,
Feb 12, 2010, 10:48:30 AM2/12/10
to us...@mule.codehaus.org

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

Farrell, Kevin (ICTL_eCust_05)

unread,
Feb 12, 2010, 10:50:30 AM2/12/10
to us...@mule.codehaus.org

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:cpa...@gmail.com]
Sent: 12 February 2010 15:46
To: us...@mule.codehaus.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


Richard Swart wrote:
>
> 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
>
>
>
>

tp27555942p27565468.html

cpalm3

unread,
Feb 12, 2010, 11:08:25 AM2/12/10
to us...@mule.codehaus.org

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 -
org.mule.transport.jms.xa.SessionInvocationHandler@8a93d9 Invoking public
abstract boolean
org.mule.transaction.XaTransaction$MuleXaObject.isReuseObject()
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
org.mule.transport.jms.xa.SessionInvocationHandler@1ef158 Invoking public
abstract boolean
org.mule.transaction.XaTransaction$MuleXaObject.isReuseObject()
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
org.mule.transport.jms.xa.SessionInvocationHandler@176fbc2 Invoking public
abstract boolean
org.mule.transaction.XaTransaction$MuleXaObject.isReuseObject()
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
org.mule.transport.jms.xa.SessionInvocationHandler@362a7b Invoking public
abstract boolean
org.mule.transaction.XaTransaction$MuleXaObject.isReuseObject()
2010-02-12 10:00:13,385 DEBUG SessionInvocationHandler:74 -
org.mule.transport.jms.xa.SessionInvocationHandler@176fbc2 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.SessionInvocationHandler@1ef158 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.SessionInvocationHandler@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

Reply all
Reply to author
Forward
0 new messages