Drools 使用或处于流挂状态时的状态

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 我想要

我对口水规则有点问题

在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 "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