我是流口水的新手,并且有一个场景,我需要从流口水中调用骡子流。我已将骡子流定义为下面,并希望根据某些条件调用其中一个流。
<flow name="Flow1">
<http:listener config-ref="flw1" path="/check1" doc:name="Evaluation Srv" />
<http:request config-ref="Proxy" path="/check1" method="GET" doc:name="basic validation" />
</flow>
<flow name="Flow2">
<http:listener config-ref="flw1" path="/check2" doc:name="Notification" />
<http:request config-ref="Proxy" path="/check2" method="GET" doc:name="Personal validation">
</http:request>
</flow>
我有一个示例流口水文件,如下所示
#default dialect for the semantic code will be MVEL
global org.mule.module.bpm.MessageService mule;
import com.mule.sbus.drools.RequestUrl
dialect "mvel"
declare RequestUrl
@role(event)
end
rule "/check1"
lock-on-active
when
$url:RequestUrl(url=="check1")
then
#invoke flow1
end
rule "/check2"
lock-on-active
when
$url:RequestUrl(url=="check2")
then
#invoke flow 2
end
请让我知道如何从口水中调用流水
如果你知道如何从Java调用它,那么你就知道如何从Drools调用它。规则的右侧(然后是部分)基本上是Java代码。但要记住的一件事是,Drools 中规则的执行是单线程的。在规则内调用 mule 时,不会执行/评估其他规则。
一种选择是使用异步执行器。
希望对您有所帮助,