如何使用Groovy脚本在多个应用程序中停止/启动Mule流程

时间:2017-05-29 16:42:33

标签: groovy mule mule-studio mule-component

是否可以在同一个mule运行时中部署的多个应用程序中停止/启动正在运行的流程?

看起来我们需要为每个应用程序单独编写Groovy脚本以便停止/启动。有人可以帮我理解吗?

代码段: -

  <scripting:component>
     <scripting:script engine="groovy">
        muleContext.registry.lookupFlowConstruct('targetFlow').start()
     </scripting:script>
  </scripting:component>

3 个答案:

答案 0 :(得分:0)

以下是描述:

muleContext.registry.lookupFlowConstruct(<flowname>).start()

如果进程处于停止状态,这是启动流的groovy脚本.'targetFlow'是您要启动的流的名称。这是检查过程停止或启动过程的条件的一种很好的做法。

如果您想停止流程,可以使用下面的代码。这将停止指定的过程。

if(muleContext.registry.lookupFlowConstruct(<flowname>).isStarted())
{
muleContext.registry.lookupFlowConstruct(<flowname>).stop();
}
else
{
flowVars.status='Process already in stopped condition';
}

答案 1 :(得分:0)

我们可以通过在应用程序中编写groovy脚本来启动/停止流程,因为它在MuleContext的基础上工作,所以无法跨应用程序完成。以下是更简单的方法。

 <scripting:component>
     <scripting:script engine="groovy">
        muleContext.registry.lookupFlowConstruct('targetFlow').start()
     </scripting:script>
 </scripting:component>

答案 2 :(得分:0)

它可以跨应用程序完成,不久前写了一篇关于此的博客文章。

它使用相同的命令,但随后放入应用程序并通过HTTP公开。

http://www.corralict.nl/how-to-start-stop-mule-flows-from-a-client-over-http/