0

我正在使用 Mule community-3.8 版本。我有一个场景,我需要通过 JMS 连接 MQ,并且应该在永远模式下重试策略连接。如果发生 MQ/通道重启,它在快乐的情况下工作正常。

但是,如果队列管理器关闭并且 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,我可以取消部署流。但我真的不需要那个功能在我的用例中。

4

1 回答 1

0

JMS 重试选项将在单线程模型中工作,因此这可以保持新线程进程,直到重新连接成功。

于 2018-11-22T12:27:33.487 回答