Mule: How to Stop or Start Flows in Mule 4.x Programmatically
Learn how to start or stop flows in Mule 4.x programmatically.
Join the DZone community and get the full member experience.Join For Free
This article will describe the steps required to stop and start the flow in Mule 4 programmatically.
To be able to start and stop flows in Mule 4.x, you need to acquire the Mule Registry and then get the flow. This article provides a way to stop and start Mule flow using a Groovy script in Mule 4.x.
You will need to perform the following steps:
1. Add the scripting module to your project if you haven't previously added it
2. Add a scripting component like the following:
<scripting:execute engine="groovy" doc:name="Toggle flow" doc:id="2eb6f071-bdef-4d3d-926d-2565fcd62d33" > <scripting:code >flow = registry.lookupByName("flowName").get(); if (flow.isStarted()) flow.stop() else flow.start() </scripting:code> </scripting:execute>
That Script will start the flow with name "flowName" if it is not started and stop it otherwise.
NOTE: Please replace "flowName" with the actual name of the flow you wish to start/stop or with a variable.
Opinions expressed by DZone contributors are their own.