freebsd源码解读(开启灵活开发编码模式)
RHS部分是规则体的重要组成部分,当LHS部分的条件匹配成功后,对应的RHS部分就会触发执行。一般在RHS部分中需要进行业务处理。在RHS部分Drools为提供了一个内置对象,名称就是drools。本节RHS部分对象和方法。
halt(一)
- ① 介绍
halt方法的作用是立即终止后面所有规则的执行。
- ② 语法
drools.halt();
- ③ drl文件
- ④ 测试类
因为rule_rhs_1 中包含halt 所以 rule_rhs_2 没有被触发
getWorkingMemory(二)
- ① 介绍
getWorkingMemory方法的作用是返回工作内存对象。
- ② 语法
drools.getWorkingMemory()
- ③ drl
- ④ 测试类
获取工作内存堆存,本质是一个会话对象session
getRule(三)
- ① 介绍
getRule方法的作用是返回规则对象。
- ② 语法
drools.getRule()
- ③ drl
- ④ 测试类
规则文件编码规范(重要)(四)
- 所有的规则文件(.drl)应统一放在一个规定的文件夹中,如:/rules文件夹
- 书写的每个规则应尽量加上注释。注释要清晰明了,言简意赅
- 同一类型的对象尽量放在一个规则文件中,如所有Student类型的对象尽量放在一个规则文件中
- 规则结果部分(RHS)尽量不要有条件语句,如if(…),尽量不要有复杂的逻辑和深层次的嵌套语句
- 每个规则最好都加上salience属性,明确执行顺序
- Drools默认dialect为"java",尽量避免使用dialect “mvel”
PS:下节说说大家做java常用的drools和spring的整合。
,
免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com