"no viable alternative at input n"和"mismatched input"



我有以下类

public class DroolsObjectRule {
    private String backend;
    private Long time;
    private Long avgTime;
    private boolean allow=true;
    private String message;
    //Set
    //Get
}

我的规则

rule "rule_3_increment_more"
  salience 3
  when
    $drol: DroolsObjectRule(backend == "AD1" &&  (2 * $drol.avgTime) > $drol.time) [this is line 33]
  then
    $drol.setMessage("RULE 3");
end

当我运行代码时,我得到以下错误

Caused by: java.lang.IllegalArgumentException: 
 [33,48]: [ERR 101] Line 33:48 no viable alternative at input '2'
          in rule "rule_3_increment_more" in pattern DroolsObjectRule
 [33,79]: [ERR 102] Line 33:79 mismatched input ')' expecting '('
          in rule "rule_3_increment_more" in pattern DroolsObjectRule in pattern $drol.time

知道吗?

规则在5.3.0、5.6.0、5.5.0、6.0.0和6.1.0中正常工作。

如果您使用的是旧版本,请使用遗留形式的约束:

DroolsObjectRule( backend == "AD1", $avgTime: avgTime,
                  time < 2*$avgTime )

最新更新