freebsd源码解读(开启灵活开发编码模式)

RHS部分是规则体的重要组成部分,当LHS部分的条件匹配成功后,对应的RHS部分就会触发执行。一般在RHS部分中需要进行业务处理。在RHS部分Drools为提供了一个内置对象,名称就是drools。本节RHS部分对象和方法。

halt(一)
  • ① 介绍

halt方法的作用是立即终止后面所有规则的执行。

  • ② 语法

drools.halt();

  • ③ drl文件

freebsd源码解读(开启灵活开发编码模式)(1)

  • ④ 测试类

因为rule_rhs_1 中包含halt 所以 rule_rhs_2 没有被触发

freebsd源码解读(开启灵活开发编码模式)(2)

getWorkingMemory(二)
  • ① 介绍

getWorkingMemory方法的作用是返回工作内存对象。

  • ② 语法

drools.getWorkingMemory()

  • ③ drl

freebsd源码解读(开启灵活开发编码模式)(3)

  • ④ 测试类

获取工作内存堆存,本质是一个会话对象session

freebsd源码解读(开启灵活开发编码模式)(4)

getRule(三)
  • ① 介绍

getRule方法的作用是返回规则对象。

  • ② 语法

drools.getRule()

  • ③ drl

freebsd源码解读(开启灵活开发编码模式)(5)

  • ④ 测试类

freebsd源码解读(开启灵活开发编码模式)(6)

规则文件编码规范(重要)(四)
  1. 所有的规则文件(.drl)应统一放在一个规定的文件夹中,如:/rules文件夹
  2. 书写的每个规则应尽量加上注释。注释要清晰明了,言简意赅
  3. 同一类型的对象尽量放在一个规则文件中,如所有Student类型的对象尽量放在一个规则文件中
  4. 规则结果部分(RHS)尽量不要有条件语句,如if(…),尽量不要有复杂的逻辑和深层次的嵌套语句
  5. 每个规则最好都加上salience属性,明确执行顺序
  6. Drools默认dialect为"java",尽量避免使用dialect “mvel”

PS:下节说说大家做java常用的drools和spring的整合。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页