我有一个Mule流程,我可以通过以下脚本开始:
muleContext.registry.lookupFlowConstruct('targetFlow').start()
但是,我希望仅在流程停止时执行脚本。在开始之前有什么方法可以在脚本中检查这个吗?
答案 0 :(得分:4)
您可以使用此方法验证流程是否已启动。我希望能帮到你。
AbstractFlowConstruct f = (AbstractFlowConstruct) muleContext.getRegistry().lookupFlowConstruct("flowName");
if (f.isStopped()){
// start flow
}
// it can also be used : f.isStarted()
答案 1 :(得分:3)
或者,您可以使用 Groovy 组件检查状态并按如下方式放置简单脚本: -
<scripting:component doc:name="Groovy">
<scripting:script engine="Groovy"><![CDATA[
if(muleContext.registry.lookupFlowConstruct('yourFlowName').isStopped())
{
muleContext.registry.lookupFlowConstruct('yourFlowName').start();
}
return message.payload;
]]>
</scripting:script>
</scripting:component>
注意Groovy脚本是实现此目的的最简单方法