如何找出Mule流量状态

时间:2014-10-31 15:33:19

标签: java groovy mule mule-studio

我有一个Mule流程,我可以通过以下脚本开始:

muleContext.registry.lookupFlowConstruct('targetFlow').start()

但是,我希望仅在流程停止时执行脚本。在开始之前有什么方法可以在脚本中检查这个吗?

2 个答案:

答案 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脚本是实现此目的的最简单方法