Mule Can not start XA transaction -


hi have 3 flows set accept message http inbound endpoint, send vm endpoint , again various other vm endpoints while being sent jms outbound endpoint.

i need configure transactionality between these connectors , using xa-transaction actions jms endpoint having <jms:transaction action="always_join" />configured. doesn't seem working when message comes in on http inbound endpoint , goes first vm endpoint get


message : can not start xa transaction

code : mule_error-95

exception stack is: 1. object of type "javax.transaction.transactionmanager" name "transaction manager" not available in registry (java.lang.illegalstateexcep tion) org.mule.transaction.xatransaction:56 (null) 2. can not start xa transaction (org.mule.api.transaction.transactionexception) org.mule.transaction.xatransactionfactory:37 (http://www.mulesoft.org/docs/site/current3/apidocs/org/mule/api/transaction/transactionexception.html)


root exception stack trace: java.lang.illegalstateexception: object of type "javax.transaction.transactionmanager" name "transaction manager" not available in registr y @ org.mule.transaction.xatransaction.dobegin(xatransaction.java:56) @ org.mule.transaction.abstracttransaction.begin(abstracttransaction.java:65) @ org.mule.transaction.xatransactionfactory.begintransaction(xatransactionfactory.java:32) + 3 more (set debug level logging or '-dmule.verbose.exceptions=true' everything)


my flow defined below.

    <http:inbound-endpoint address="${test.service.proxy}"                            transformer-refs="xmltodom">     </http:inbound-endpoint>     <logger level="info" message="#[flow.name]: #[payload] #[message]" doc:name="logger"/>     <vm:outbound-endpoint path="receivemessagestage2vm">         <xa-transaction action="always_begin"/>     </vm:outbound-endpoint> </flow>  <flow name="receivemessagestage2idempotency">     <vm:inbound-endpoint path="receivemessagestage2vm">         <xa-transaction action="always_join"/>     </vm:inbound-endpoint>     <pooled-component>         <spring-object bean="receivemessageidempotentcomponent"/>         <binding interface="en.test.mf.doc.components.syncsender">             <vm:outbound-endpoint path="receivemessagestage3vm">                 <xa-transaction action="always_join"/>             </vm:outbound-endpoint>         </binding>     </pooled-component> </flow>  <flow name="receivemessagestage3idempotency">      <vm:inbound-endpoint path="receiveevrmessagestage3vm"                          responsetransformer-refs="jmstostring">         <xa-transaction action="always_join"/>     </vm:inbound-endpoint>     <component>         <spring-object bean="zipfilemessagehandler"/>     </component>     <logger level="info" message="#[flow.name]: #[payload] #[message]" doc:name="logger"/>     <outbound-endpoint ref="jms_outbound_endpoint"                        doc:name="jms_outbound_endpoint"/> </flow> 

anyone know how can achieve functionality?

you need add transaction manager bitronix - https://docs.mulesoft.com/mule-user-guide/v/3.7/using-bitronix-to-manage-transactions


Comments

Popular posts from this blog

unity3d - Rotate an object to face an opposite direction -

angular - Is it possible to get native element for formControl? -

javascript - Why jQuery Select box change event is now working? -