如何使用 Groovy 脚本 stop/start 多个应用程序中的 Mule 流

How to stop/start the Mule flows in multiple applications using Groovy scripting

是否可以 stop/start 在同一个 mule 运行时中部署的多个应用程序中 运行 的流程?

看来我们需要为每个应用程序单独编写 Groovy 脚本才能 stop/start。有人可以帮助我理解吗?

代码片段:-

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

描述如下:

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';
}

我们可以通过在应用程序中编写 groovy 脚本来 start/stop 流程,但不能跨应用程序完成,因为它是在 MuleContext 的基础上工作的。下面是更简单的方法。

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

它可以跨应用程序完成,前一段时间写了一篇关于这个的博文。

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

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