exception - Rollback strategy with maxRedeliveryAttempts and VM inbound configured does not redeliver messages -
my flow looks below, expect message redelivered 2 times ,
redelivery exhaused sad
logger printed. after component throws exception re delivery mechanism not kick in
<vm:connector name="vm" validateconnections="true" doc:name="vm" /> <flow name="triggerflow" > <http:listener config-ref="orders_http_listener_configuration" path="/rollback" allowedmethods="get" doc:name="1080/rollback" /> <vm:outbound-endpoint exchange-pattern="request-response" path="txflow" doc:name="vm" connector-ref="vm" responsetimeout="60000"> </vm:outbound-endpoint> </flow> <flow name="txflow" > <vm:inbound-endpoint exchange-pattern="request-response" path="txflow" doc:name="case1" connector-ref="vm" responsetimeout="60000"> <xa-transaction action="always_begin"/> </vm:inbound-endpoint> <scripting:component doc:name="groovy"> <scripting:script engine="groovy"><![cdata[throw new runtimeexception();]]></scripting:script> </scripting:component> <rollback-exception-strategy maxredeliveryattempts="3" doc:name="rollback exception strategy"> <logger message="will rollback #[payload]" level="info" doc:name="logger"/> <on-redelivery-attempts-exceeded> <logger message="redelivery exhaused sad " level="info" doc:name="logger"/> </on-redelivery-attempts-exceeded> </rollback-exception-strategy> </flow>
i got answer after speaking mulesoft. updated flow should below, both vm's should one-way , processing strategy of txflow should synchronous. if vm request-reponse behaves more flow-ref no queue involved , hence no redelivery ...
Comments
Post a Comment