写点什么

Drools 规则属性

用户头像
LeifChen
关注
发布于: 1 小时前

规则体中的属性是学习规则语法的重要组成部分,是有默认值的。

no-loop


默认值:false

类型:Boolean

属性说明:防止死循环,当规则通过 update 之类的函数修改了 Fact 对象时,可能使规则再次被激活,从而导致死循环。

package rulesimport com.chen.Person;
rules "testNoLoop" no-loop true when $p:Person(age==18); then $p.setAge(18); update($p); System.out.println("testNoLoop");end
复制代码

ruleflow-group

默认值:N/A

类型:String

属性说明:包含 rule、flow 和 group 3 个部分,分别代表规则、流程、分组,即规则流。

lock-on-active

默认值:false

类型:Boolean

属性说明:锁定活跃。当规则体设置了 lock-on-active 为 true,则无论如何更新规则事实对象 Fact,当前规则也只能被触发一次。是 no-loop 的升级版。

salience

默认值:0

类型:Integer

属性说明:可以设置负数,其值越大,执行顺序越高,排名越靠前。

enabled

默认值:true

类型:Boolean

属性说明:指规则是否可以被执行,若规则体设置为 enabled false,则规则体将视为永不激活。

dialect

可能值:Java 或 Mvel

类型:String

属性说明:定义规则体中要使用的语言类型,支持 Mvel 和 Java 两种类型的语言。

date-effective

默认值:N/A

类型:String、日期、时间

属性说明:只有当前系统时间大于等于设置的时间或日期,规则才会被激活。

date-expires

默认值:N/A

类型:String、日期、时间

属性说明:只有当前系统时间小于等于设置的时间或日期,规则才会被激活。

duration

默认值:无

类型:long

属性说明:定时器。

timer

默认值:无

类型:与 Java 定时器参数类型相似

属性说明:定时器。用来控制规则的执行时间。

activation-group

默认值:N/A

类型:String

属性说明:激活分组,通过字符串定义分组名称,具有相同组名称的规则体有且只有一个规则被激活,其他规则体的 LHS 部分即使仍然为 true 也不会再被执行。

agenda-group

默认值:无,需要通过 Java 设置

类型:String

属性说明:议程分组,可以通过配置参数来控制规则的执行,只有获取焦点的规则才会被激活。

auto-focus

默认值:false

类型:Boolean

属性说明:自动获取焦点,即当前规则是否被激活。

用户头像

LeifChen

关注

持续学习与分享。 2017.10.29 加入

Java 开发

评论

发布
暂无评论
Drools 规则属性