编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

开启灵活开发编码模式:规则引擎drools——RHS部分

wxchong 2024-06-21 14:14:59 开源技术 22 ℃ 0 评论

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
  • ④ 测试类

规则文件编码规范(重要)(四)

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

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

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表