我创建了一个java类来捕获systemException(数据库连接失败), 在课堂上,我尝试重新连接到DB 10次。 如果连接成功,我想重启正常流程。 那么如何在这个类中重启流程呢? 有什么建议吗?非常感谢。
答案 0 :(得分:0)
您可以通过mule注册表分别调用start和stop方法来停止和启动流程。这方面的一个例子是:
Flow myFlow = (Flow) eventContext.getMuleContext().getRegistry().get("FlowName");
myFlow.stop();
myFlow.start();
但我不认为这是理想的做法,而且我认为这不会解决你的问题。
我认为您使用的是“旧”JDBC连接器。此连接器具有重新连接策略,可以为您执行此操作。有关详细信息,请参阅http://www.mulesoft.org/documentation/display/current/Configuring+Reconnection+Strategies。
答案 1 :(得分:0)
当您的流程最初停止并且必须根据某些条件启动它时,此代码段非常有用
<scripting:component>
<scripting:script engine="groovy">
app.registry.lookupFlowConstruct('muleflow').start()
( or)
muleContext.registry.lookupFlowConstruct('muleflow').start()
</scripting:script>
</scripting:component>