I have a Mule flow where I configured a multi-resource transaction with transactional scope and rollback exception strategy to roll back an exception and redelivery the message to start the transaction again. But the rollback exception strategy doesn't redeliver the message. Below is the flow config.
<ee:multi-transactional action="ALWAYS_BEGIN" doc:name="Transactional">
<db:insert config-ref="MySQL_Configuration" autoGeneratedKeys="true" autoGeneratedKeysColumnIndexes="1" autoGeneratedKeysColumnNames="generated_key"
doc:name="Database" transactionalAction="ALWAYS_JOIN">
<db:parameterized-query>
<![CDATA[INSERT INTO DEMO(NAME, AGE) VALUES(#[payload.customer.name],#[payload.customer.age])]]>
</db:parameterized-query>
</db:insert>
<component class="org.ram.BusinessComponent" doc:name="Throw Exception" />
<jms:outbound-endpoint queue="${queue.name}" connector-ref="Active_MQ" doc:name="JMS">
<ee:multi-transaction action="ALWAYS_JOIN" />
</jms:outbound-endpoint>
<rollback-exception-strategy doc:name="Rollback Exception Strategy" maxRedeliveryAttempts="3">
<logger doc:name="Logger" />
<on-redelivery-attempts-exceeded>
<logger level="INFO" doc:name="Logger"/>
</on-redelivery-attempts-exceeded>
</rollback-exception-strategy>
</ee:multi-transactional>
Can anyone please solve the issue?