规则 “一”Drools的激活组不能按预期
activation-group "Harris"
salience 10
when
$p : Person(age < 10);
then
$p.setDiscount(0.1);
末
规则 “两个”
activation-group "Harris"
salience 10
when
$p : Person(age > 10);
then
$p.setDiscount(0.2);
末
当我插入一些人员工作内存通过KSession.insert(Object),只有第一个Person被评估,其他人只是被忽略。我对Drools激活组的理解是,如果我拥有X个规则属于同一个激活组,并且具有不同的显着性值,那么每个人将按照规则处理,并且具有最高的显着性的那个将被解雇并且其余的将被忽略。一旦完成,下一个人将通过并重复该过程。我所遇到的 什么是第一个触发该激活组的 规则的人将禁用整个激活组,并且不会再处理任何人。 有什么建议吗? “
除了下面的laune答案选项a之外,如果您不需要在多个'Person'实例上执行与其他规则的连接,则可以使用StatelessKieSession,为每个给定的'Person'实例执行 – tarilabs