Exception handling 启动时禁用Mule流-继续或忽略启动失败

Exception handling 启动时禁用Mule流-继续或忽略启动失败,exception-handling,mule,mule-component,anypoint-studio,Exception Handling,Mule,Mule Component,Anypoint Studio,Mule项目有多个流,其中一些流的端点可能在测试期间启动时处于脱机状态。任何流中的失败端点都会导致整个Mule项目无法部署。控制台记录域状态已部署,但应用程序状态=失败 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ + Starting app 'test' + +++++++++++++++++++++++++++++++++++++++++++++

Mule项目有多个流,其中一些流的端点可能在测试期间启动时处于脱机状态。任何流中的失败端点都会导致整个Mule项目无法部署。控制台记录域状态已部署,但应用程序状态=失败

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Starting app 'test'                                    +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
. Root Exception was: Connection refused: connect. Type: class java.net.ConnectException
ERROR 2018-01-09 10:31:08,287 [main] org.mule.module.launcher.application.DefaultMuleApplication: 
********************************************************************************
Message               : Could not connect to broker URL: tcp://localhost:61616.
                        Reason: java.net.ConnectException: Connection refused: connect
JMS Code              : null
*************************************************************
* Application "test" shut down normally on: 1/9/18 10:31 AM *
* Up for: 0 days, 0 hours, 0 mins, 1.449 sec                *
*************************************************************
ERROR 2018-01-09 10:31:08,413 [main] org.mule.module.launcher.DefaultArchiveDeployer: 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ Failed to deploy artifact 'test', see below            +
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
org.mule.module.launcher.DeploymentStartException: ConnectException: Connection refused: connect
已尝试对可能存在启动连接问题但不会影响项目运行的流设置initialState=“stopped”。项目仍然无法运行,并且没有流正在运行

向入站端点添加了CatchExceptionStrategy,这些端点在启动时可能会失败,因此不可用。还尝试了流中的“直到成功”范围

特别是一些JMS和Web服务组件,它们可能在开发和测试期间的不同时间处于脱机状态。希望配置流以允许整个项目继续,即使单个组件/流在启动时无法连接。希望管理具有多个流的单个项目,以便某些流可能不处于活动状态

Environment: Anypoint Studio and Mule 3.9.0 EE. 

如果您希望即使在服务不可用的情况下也能成功部署,则需要在JMS连接器上提供一个带有
blocking=false
的重新连接策略。例如:

<jms:activemq-connector name="Active_MQ" username="a" password="b" brokerURL="tcp://localhost:61616" validateConnections="true" doc:name="Active MQ">
  <reconnect-forever blocking="false"/>
</jms:activemq-connector>

有关重新连接策略的更多信息,请参见此处的MuleSoft文档:如果需要