在Drools规则引擎中设置局部变量/事实

在Drools规则引擎中设置局部变量/事实,drools,optaplanner,Drools,Optaplanner,我有一个基于任务规划示例的简单规则。看起来是这样的: rule "It is better if user does not overexceeds its hours" when $emp : Employee() $task : Task( $taskType : taskType, employee == $emp) accumulate( Task(employee == $emp);

我有一个基于任务规划示例的简单规则。看起来是这样的:

rule "It is better if user does not overexceeds its hours"
    when
        $emp : Employee()
        $task : Task( $taskType : taskType, employee == $emp)    
        accumulate( Task(employee == $emp);
                    $minutesOfEmplSpend : sum($taskType.getBaseDuration());
                    $emp.getMinutesAvailable() < $minutesOfEmplSpend
         )
    then
        scoreHolder.addMediumConstraintMatch(kcontext, 
$emp.getMinutesAvailable()-$minutesOfEmplSpend);    
end
scoreHolder.addMediumConstraintMatch(kcontext, 
$emp.getMinutesAvailable()-$minutesOfEmplSpend - ($task.isSerious == true ? 100 : 10) ));

但我的规则有错误。我想我已经尝试了所有的方法-请至少给我指出正确的方向。

正常的java代码应该可以工作,尝试
$task.isSerious()
而不是
$task.isSerious

这就成功了!我发誓我已经试过一百次了!