- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Drools快速入门(第二版)概要
* * * * * * * * * * * * * * * * * * * * 结果部分(RHS) 只有在 LHS 的所有条件都满足时 RHS 部分才会执行. 在 RHS 当中可以使用 LHS 定义的绑定变量名, 设置的全局变量、或者是直接编写 Java 代码。 RHS 虽然可以直接编写 Java 代码,但不建议在代码当中有条件判断,如果需要条件判断,请重新考虑将其放在 LHS 当中,否则就违背了使用规则的初衷。 在 RHS 里面,提供了一些对当前 Working Memory 实现快速操作的宏宏函数或对象 比如 insert/insertLogical、 update 和 retract 就可以实现对当前 Working Memory中的 Fact 对象进行新增、删除或者是修改。 Drools 还提供了一个名为 kcontext 的宏对象。 Kcontext的宏对象直接访问当前 Working Memory 的 KnowledgeRuntime Insert宏函数 Java 类中 StatefulKnowledgeSession 对象的 insert 方法的作用相同。 都是用来将一个 Fact 对象插入到当前的 Working Memory 当中 基本格式: 注意: 一旦调用 insert 宏函数,那么 Drools 会重新与所有的规则再重新匹配一次,对于没有设置 no-loop=true 的规则,如果条件满足,不管其之前是否执行过都会再执行一次。 update、retract 宏函数同样具有该特性。 可以这么理解,在调用insert 、update、retract宏函数时,会自动的用 fireAllRules()方法触发所有的规则执行 。 使用实例如右图: Update 宏函数 用来实现对当前 Working Memory 当中的 Fact 进行更新。 有两种用法形式 (1) 直接更新一个 Fact 对象,格式: (2) 通过指定 FactHandle 来更新对应的 Fact 对象。 Update 宏函数 FactHandle 来更新对应的 Fact 对象实例: retract宏函数 用来将 Working Memory 当中某个 Fact 对象从 Working Memory 当中删除。 使用格式: restact(new Object() ) drools宏对象 Drools宏对象可以用来实现对当前的Working Memory 控制。 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,用来定义规则当中要使用的语言类型, Drool
您可能关注的文档
- DNA提取方法和试剂作用.doc
- DNA是主要的遗传物质PPT(精品).ppt
- DMAIC-A阶段(UT).ppt
- DNS与邮件服务器实验.doc
- DO530溶氧说明书概要.docx
- Disney介绍概要.ppt
- DOS操作系统与Windows操作系统.ppt
- docker2-1.pptx
- Donut甜甜圈.ppt
- DNS的组建与运用.ppt
- 实验室危废随意倾倒查处规范.ppt
- 实验室危废废液处理设施规范.ppt
- 实验室危废处置应急管理规范.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第20课时 中国的地理差异.ppt
- 初中地理中考总复习精品教学课件课堂讲本 基础梳理篇 主题10 中国的地理差异 第21课时 北方地区.ppt
- 危险废物处置人员防护培训办法.ppt
- 危险废物处置隐患排查技术指南.ppt
- 2026部编版小学数学二年级下册期末综合学业能力测试试卷(3套含答案解析).docx
- 危险废物处置违法案例分析汇编.ppt
- 2026部编版小学数学一年级下册期末综合学业能力测试试卷3套精选(含答案解析).docx
最近下载
- GB50854-2013 房屋建筑与装饰工程工程量计算规范.docx VIP
- 加油站的法律法规与合规要求.pptx VIP
- 统编版六年级阅读理解第25课 寓言童话故事阅读重点 课件.pptx VIP
- 2025年【直接打印】人教版八年级上册地理期末复习核心考点提纲.pdf VIP
- 妊娠期与产后女性运动专家共识(2025版).pptx VIP
- (高清版)DB31∕T 1487-2024 国际医疗服务规范.docx VIP
- 七年级数学试题及评分标准(2)七年级上册数学期末试卷免费.pdf VIP
- 精品解析:北京市西城区2024-2025学年高二上学期期末考试英语试题(解析版).docx VIP
- 泰国光伏市场发展与前景分析报告.pdf
- 2026人教版小学语文三年级上册期末综合试卷3套(打印版含答案解析).docx
原创力文档


文档评论(0)