Drools规则属性:
位置:rule~when之间
-
no-loop
防止死循环- 默认值: false
- 类型: Boolean
- 如果设置了此属性那么可以有效的避免死循环,当规则体中执行了Update等可以修改Fact对象内容的函数时,则规则体会被再次激活,重新匹配规则,如果条件满足那么就会一直循环。
-
ruleflow-group
所属组- 默认值: 无
- 类型: String
- 设置此属性表示该规则目前所属组,当所关联的组被激活时才会执行该规则。
-
lock-on-active
锁定活跃- 默认值: false
- 类型: Boolean
- 此属性可以理解为解决死循环的必杀技,因为如果将值设置为
true
时那么此规则只会执行一次,就算是通过ruleflow-grop
属性所激活也不会执行。当然值得注意的是此属性仅仅适用于规则流组ruleflow-group
和议程组agenda-group
中的规则,如果你不希望Fact对象中的内容经常变化的话,那么此属性用来计算是最好不过的了。
-
salience
优先级- 默认值: 0
- 类型: number
- 此属性是用来设置规则执行的顺序,值越大优先级越高,越先执行。当然负数也是支持的。
-
enabled
是否被激活- 默认值: true
- 类型: Boolean
- 此属性可以用来控制该规则是否可以执行或者不执行。
-
dialect
方言- 默认值: Mvel
- 类型: 字符串
- 此属性是用来指定规则要使用的语言类型,可以是
JAVA
也可以是MVEL
,当使用MVEL
方言是该规则使用在包级别指定的方言,此处指定的任何方言都会覆盖该规则的包方言(官方),在我的理解就是如果你默认不指定方言为MVEL
时,后面在指定自己的方言时则会覆盖之前的方言。
-
date-effective
时间限制- 默认值&