drools规则语言指南(四)规则属性

DRL中的规则属性

如下图所示,规则的所有属性都在里面了
image
规则的属性是对规则行为的额外声明。在DRL文件中,在条件的上面定义属性,多个属性分行表示:

rule "rule_name"
    // Attribute
    // Attribute
    when
        // Conditions
    then
        // Actions
end
属性对照表:
AttributeValue
salience规则执行的优先级,正整数,数值越大优先级越高,例:salience 10
enabled规则是否可用,true/false,例:enabled true
date-effective规则生效的时间,在这个时间之后的,规则才可以生效,例:date-effective “4-Sep-2018”
date-expires规则失效时间,在这个时间之后规则就失效,例:date-expires “4-Oct-2018”
no-loop规则不会被再次激活,true/false,例:no-loop true
agenda-groupagenda组 ,这个相当于对规则进行了分组,只有被选定的组才能激活规则,例:agenda-group “GroupName”
activation-groupactivation组,在同一个组中的规则,当其中一个被激活之后其他的规则就不会被激活,例:activation-group “GroupName”
duration规则持续时间,毫秒值,在指定的毫秒值之后规则才能被激活
timer定时调度规则,int (interval) or cron,例: timer ( cron:* 0/15 * * * ? ) (every 15 minutes)
calendar基于Quartz日期的定时调度规则,例: calendars “* * 0-7,18-23 ? * *” (exclude non-business hours)
auto-focustrue/false,仅适用于有agenda group的规则,为true时当某个agenda group中的规则被激活之后,那么这个group就会自动获得焦点,例:auto-focus true
lock-on-activetrue/false,仅适用于带有rule flow group 或者agenda group的规则,为true时,在下一次rule flow group变为可激活或者agenda group获得了焦点,这个规则不能被激活直到这个group失去焦点。这是no-loop的增强版本,任何的地方对fact的修改都不会再次触发规则。lock-on-active true
ruleflow-group在规则流中,只有指定得ruleflow-group才能被激活,例:ruleflow-group “GroupName”
dialect使用JAVA还是MVEL作为规则的语言,例:dialect “JAVA”

更多参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值