drools快速入门第二版.ppt

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Modify 表达式 ? Modify 表达式可以快速实现对 Fact 对象多个属性进行修改,修改完成后会自动更新 到当前的 Working Memory 当中。 ? 格式: ? 实例如: ? 注意: 一旦调用 modify 表达式 ,那么 Drools 会重新与所有的规则再重新匹配一次 ,对于没有设置 no-loop=true 的规则,如果条件满足,不管其之前是否执行过都会 再执行一次。 insert 、 update 、 retract 、 modify 需要注意的地方 ? ( 1 )它们都能使 Working Memery 里的 fact 对象发生变化。 ? ( 2 )都会自动调用 fireAllRules() 方法,自动触发规则的执行。 ? ( 3 )触发规则时,若 no-loop=true ,新改变的 fact 对象,会对非自身的其它的所有规 则重新匹配一次。 ? ( 4 )触发规则时,若 no-loop=false ,新改变的 fact 对象,会对所有规则(包括自身) 重新匹配一次。 ? ( 5 )触发规则时,匹配的原则是:新改变的 fact 对象 只去匹配 条件包涵有 fact 对象 的规则表达式 。 ? ( 6 ) no-loop 属性,只是针对 自身触发的规则有用。 注意用好此属性,避免死循环 属性部分 ? Drools5 中,规则的属性共有 13 个,它们分别是: activation-group 、 agenda-group 、 auto-focus 、 date-effective 、 date-expires 、 dialect 、 duration 、 enabled 、 lock-on- active 、 no-loop 、 ruleflow-group 、 salience 、 when ? 下面介绍几个常用的比较重要的 属性 ? salience ,它的作用是用来设置规则执行的优先级,默认是 0 ,数字越大执行优先级 越高,值也可以是负数。 ? no-loop ,它的作用是用来控制已经执行过的规则在条件再次满足时是否再次执行。 ? enabled ,表示规则是否可用,默认为 true ,值为 false ,表示该条规则不可用。 ? dialect ,用来定义规则当中要使用的语言类型, Drools5 目前支持两种方言,分别是 mvel 和 java ,默认值为 java 属性部分 (activation-group) ? 该属性的作用是将若干个规则划分成一个组,用一个字符串来给这个组命名,这样 在执行的时候,具有相同 activation-group 属性的规则中只要有一个会被执行,其它 的规则都将不再执行。 ? 该属性的特点:规则进行分组,同组成员互斥,只有一个规则能执行成功。 ? 同组成员规则的执行顺序,非常像 if…else if…else if…… 的结构 ? 使用该规则,有一点要特别注意:每个执行成功的规则,只能成功的匹配一次 属性部分 (agenda-group ) ? 这个属性非常重要 ? 此属性的作用也是对规则进行分组,拥有该属性组的规则,需要用户手动激活才能 执行该组的所有规则。 ? 该属性的特点是:规则分组,手动激活,按优先级顺序执行所有规则。 属性部分 (lock-on-active) ? 这个属性也非常重要 ? 当规则使用 *-group 组属性时,如 agenda-group 、 activation-group ,在 lock-on-action 设置为 true ,可以避免因某些 Fact 对象被修改而导致已经执行过的规则再次被激活执 行。 ? 此属性的特点:只能配合 *-group 组属性一起使用, 是 no-loop 属性的升级版,只不过 , no-loop 属性管理着单个规则,而 lock-on-active 管理着规则组。 Drools 规则引擎 ? 规则引擎简介 ? 规则语言基础 ? Drools 高级语法部分 大纲 ? 规则引擎简介 学习前的准备 ? 开发环境的搭建 在 maven 工程的 pom.xml 加入以下依赖 另外, Drools5 也提供了 eclipse 的插件,可以参照网上的资料进行安装。 引入规则引擎的背景 ? 现状 ? 在目前的很多行业应用中,如银行、保险、互联

文档评论(0)

jinzhuang + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档