drools规则引擎属性之salience
用来设置规则执行的优先级,salience属性的值是一个数字,数字越大执行优先级越高,同时它的值可以是一个负数。默认情况下,规则的salience默认值为0。如果不设置规则的salience属性,那么执行顺序是随机的。
示例代码:
package com.rules
rule salience1
salience 3
when
then
System.out.println("salience1 被执行");
end
rule salience2
salience 5
when
then
System.out.println("salience2 被执行");
end
执行结果:
salience2 被执行
salience1 被执行
显然,salience2的优先级高于salience1的优先级,因此被先执行。
Drools还支持动态saline,可以使用绑定绑定变量表达式来作为salience的值。比如:
package com.rules
import com.secbro.drools.model.Product
rule salience1
salience sal
when
Product(sal:discount);
then
System.out.println("salience1 被执行");
end
这样,salience的值就是传入的FACT对象Product的discount的值了。
相关技术视频
QQ技术交流2群:715840230
CSDN学院:《Drools7规则引擎进阶教程》
CSDN学院:《Drools7规则引擎入门教程》
CSDN学院:《Drools7系列优惠套餐》
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接