Drools 使用或处于流挂状态时的状态
我对口水规则有点问题 在drl文件中,我有一个规则:Drools 使用或处于流挂状态时的状态,drools,Drools,我对口水规则有点问题 在drl文件中,我有一个规则: rule "" when $g: class1( $tm: list1 ) $p: class2() from $tm $ph: class3(isEnd==false, $s: steps) from $p.list2 $st: Step(isEnd==false ) from $s then ---- end 我想要
rule ""
when
$g: class1( $tm: list1 )
$p: class2() from $tm
$ph: class3(isEnd==false, $s: steps) from $p.list2
$st: Step(isEnd==false ) from $s
then
----
end
我想要一个有第三和第四个条件的手术室
我该怎么做?试试这个-我还没有测试过:
rule "xxx"
when
$g: class1( $tm: list1 )
$p: class2() from $tm
( class3(isEnd==false ) from $p.list2
or
( $ph: class3(isEnd==true ) from $p.list2
and
Step(isEnd==false ) from $ph.getSteps() )
)
then
----
end
我试过了,但还是不行。我有这样一个错误:“在规则中输入'class3'时没有可行的选择”对我来说问题是条件中的“from”子句,因为在其他代码中没有它…哪个“from”子句?错误消息中应该有更多信息,可能还有行号。--而且:如果没有“class1/2/3”的定义,我无法复制这一点。重建您可能拥有的内容太多了。您不能让第四个条件表达式(“步骤”)依赖于第三个条件表达式中的某个内容并要求OR,如果第三个CE不匹配,则OR应该匹配:但是,您没有用来构建第四个CE的
$s
。