我是流口水的新手,有一个场景,我需要从drools调用骡子流。我已经定义了如下的mule流程,并希望根据某些条件调用其中一个流程。
<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>
我有一个示例drools文件,如下所示
#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
请让我知道如何从drools调用流程
答案 0 :(得分:0)
如果您知道如何从Java调用它,那么您就知道如何从Drools调用它。规则的右侧(然后是部分)基本上是Java代码。 但有一点需要注意的是,Drools中规则的执行是单线程的。在规则中调用mule时,不会执行/评估其他规则。
一个选项是使用异步执行程序。
希望它有所帮助,