如果具有 JMS 重试连接,则无法取消部署 mule 流
Unable to undeploy mule flows if it has JMS Retry connection
我使用的是Mule community-3.8版本。我有一个场景,我需要通过 JMS 连接 MQ,并且应该在 forever 模式下重试策略连接。它在 MQ/channel 重启发生的情况下工作正常。
但是如果队列管理器关闭并且 Mule 尝试永远连接,那么那一刻我无法取消部署流,即使我删除了流目录和锚文件,它仍然会重试。
我觉得这是 Mule 中的一个未解决的错误?任何人都可以建议这是现有行为吗?
代码片段
<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>
此外,如果我在 jms:connector 中使用 blocking=false,我可以取消部署流程。但我真的不需要在我的用例中使用该功能。
JMS 重试选项将在单线程模型中工作,因此这可以保持新的线程进程直到成功重新连接。
我使用的是Mule community-3.8版本。我有一个场景,我需要通过 JMS 连接 MQ,并且应该在 forever 模式下重试策略连接。它在 MQ/channel 重启发生的情况下工作正常。
但是如果队列管理器关闭并且 Mule 尝试永远连接,那么那一刻我无法取消部署流,即使我删除了流目录和锚文件,它仍然会重试。
我觉得这是 Mule 中的一个未解决的错误?任何人都可以建议这是现有行为吗?
代码片段
<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>
此外,如果我在 jms:connector 中使用 blocking=false,我可以取消部署流程。但我真的不需要在我的用例中使用该功能。
JMS 重试选项将在单线程模型中工作,因此这可以保持新的线程进程直到成功重新连接。