mule,如何在java类中触发流程

时间:2014-09-28 09:31:43

标签: mule

我创建了一个java类来捕获systemException(数据库连接失败), 在课堂上,我尝试重新连接到DB 10次。 如果连接成功,我想重启正常流程。 那么如何在这个类中重启流程呢? 有什么建议吗?非常感谢。

2 个答案:

答案 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>