我正在尝试这种方法来自动启动骡子流
Starting a mule flow programmatically using groovy
并且它不会启动流程。这是在Mule Studio中使用3.4.0 CE进行的非常简单的测试
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:scripting="http://www.mulesoft.org/schema/mule/scripting"
xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="CE-3.4.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/current/mule-scripting.xsd">
<flow name="auto2Flow1" doc:name="auto2Flow1">
<scripting:component doc:name="Groovy">
<scripting:script engine="Groovy">
muleContext.registry.lookupFlowConstruct('flow1').start()
</scripting:script>
</scripting:component>
</flow>
<flow name="flow1" doc:name="flow1">
<logger level="INFO" doc:name="Logger" message="hello"/>
</flow>
</mule>
我也试过这个没有运气
<expression-component>
app.registry.flow1.start();
</expression-component>
我假设flow1已自动注册但不确定。
答案 0 :(得分:1)
我认为您尝试做的不是开始流程,而是向其发送一个事件,因此,在您的情况下,您会看到logger
写出{ {1}}。
为此,请使用:
hello
'event'是app.registry.flow1.process(event);
(javadoc)的实例。
答案 1 :(得分:0)
流量自动启动,您不需要&#34;运行&#34;它们。
将根据流中的消息源处理消息,这些消息源是触发流执行的消息源。
我建议你仔细阅读文档: http://www.mulesoft.org/documentation/display/current/Mule+Application+Architecture
答案 2 :(得分:0)
您不应手动启动流程。在本地或云端或本地部署mule应用程序后,流程将自动启动。 如果你想停止流动或冻结流程一段时间,那么你可以使用一些像睡眠一样的groovy脚本(1000);一段时间
答案 3 :(得分:0)
这样,您可以使用groovy组件
以编程方式启动/停止流程<scripting:component doc:name="start/stop the flows">
<scripting:script engine="Groovy">
<![CDATA[muleContext.registry.lookupFlowConstruct('my-Flow-1').start();
muleContext.registry.lookupFlowConstruct('my-Flow-2').start();
muleContext.registry.lookupFlowConstruct('myFlow-3').stop();
]]></scripting:script></scripting:component>