Search code examples
mulemule-esb

Unable to undeploy mule flows if it has JMS Retry connection


I am using Mule community-3.8 version. I have a scenario where i need to connect MQ via JMS and should have retry strategy connection in forever mode. It is working fine on the happy scenario incase of MQ/channel restart happened.

But in case of queue manager down and Mule tries to connect forever, then that moment I couldn't able to undeploy the flows even if I remove the flow directory and anchor file as well still it retries.

I feel this is an open bug in Mule? Can anyone suggest is this the existing behaviour?

Code snippet

<spring:beans>
    <spring:bean id="ConnectionFactory" name="ConnectionFactory" class="com.ibm.mq.jms.MQConnectionFactory">            
    </spring:bean>
</spring:beans>

<jms:connector name="jms-conn" username="xxxx" password="xxxx" specification="1.1" connectionFactory-ref="ConnectionFactory" validateConnections="true" numberOfConsumers="1" persistentDelivery="true">
    <reconnect-forever frequency="30000" />
</jms:connector>

Moreover, I am able to undeploy the flow if i use blocking=false in the jms:connector. But I really don't need that feature to be there in my usecase.


Solution

  • JMS retry option will work in a single thread model, hence this can hold the new thread process until this gets reconnected successfully.