有序执行在一个DRL文件中定义的多个规则

时间:2012-01-09 12:19:45

标签: jboss drools

我在一个DRL文件中定义了多个规则,如何设置顺序,想要一个接一个地执行(从上到下)。

3 个答案:

答案 0 :(得分:1)

当更新插入的事实(对象)时满足条件时会自动触发规则。但是如果你想从上到下运行它,你可以在规则中设置一个名为salience的属性。它所需的值是一个整数。首先执行具有最高显着性的规则。

规则“名字必须” 显着性10 什么时候  (Person(firstName ==“”|| firstName == null)) 然后  ... 端

答案 1 :(得分:0)

如果你使用显着性,你将会杀死规则引擎,因为你将强制执行规则,而不是让引擎决定。 干杯

答案 2 :(得分:0)

设置规则优先级是最好的形式。 使用“显着性”来确定每个规则的优先级,其中较高的数字表示较高的优先级。 规则的默认显着性为0,例如,如果您想最后触发一条规则,则可以给出负的显着性。