2014-09-22 1 views
0

У меня следующий класс«реальной альтернативы на входе п» и «несоответствующие вход»

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 

Любая идея?

ответ

0

Правило работает правильно в 5.3.0, 5.6.0, 5.5.0, 6.0.0 и 6.1.0.

Если вы используете более старую версию, придерживаться традиционной формы ограничений:

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

Вы правы. Я не понимал, что сервер имеет более старую версию drools (5.0), обновленные библиотеки и работает хорошо. Благодарю. – UserMan

 Смежные вопросы

  • Нет связанных вопросов^_^