分享好友 最新资讯首页 最新资讯分类 切换频道
规则引擎Drools的介绍和使用
2024-12-28 01:08

Drools是一款基于Java的开源规则引擎,将规则与业务代码解耦。规则以脚本的形式存储在一个文件中,使规则的变化不需要修改代码,重新启动机器即可在线上环境中生效。

规则引擎实现了业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入、解释业务规则,以及基于业务规则做出业务决策,从而提供极大的编程便利。

  • 规则引擎核心思想:将应用程序中的业务决策部分分离出来

  • 使得业务规则的变更不需要修改项目代码、重启服务器就可以在线上环境立即生效

Drools规则引擎可以应用于许多不同的场景,以下是一些常见的使用场景

  1. 业务规则管理:Drools可以帮助组织和管理大量的业务规则,从而提高业务规则的可维护性和灵活性。
  2. 金融风控:Drools可以帮助金融机构自动化执行风险评估和合规性检查,以确保符合监管要求。
  3. 电子商务:Drools可以帮助电子商务网站根据客户的行为和偏好自动化推荐产品。
  4. 物流管理:Drools可以帮助物流公司根据货物类型、目的地和运输方式自动化计算运费和路线。
  5. 游戏开发:Drools可以帮助游戏开发人员自动化处理游戏规则和事件。

 
 
 
 
 
 
 
 
 
 

 

drools规则引擎由以下三部分构成

  • Working Memory(工作内存

  • Rule Base(规则库

  • Inference Engine(推理引擎

其中Inference Engine(推理引擎)又包括

  • Pattern Matcher(匹配器) 具体匹配哪一个规则,由这个完成

  • Agenda(议程)

  • Execution Engine(执行引擎

四. Drools基础语法

1. 规则文件组成

       在使用Drools时非常重要的一个工作就是编写规则文件,通常规则文件的后缀为.drl

 

2. 规则体语法结构

规则体语法结构 开始位置 rule,结束位置 end

 

rule:关键字,表示规则开始,参数为规则的唯一名称。

attributes:规则属性,是rule与when之间的参数,为可选项。

when:关键字,后面跟规则的条件部分。

LHS(Left Hand Side):是规则的条件部分的通用名称。它由零个或多个条件元素组成。如果LHS为空,则它将被视为始终为true的条件元素(左手边

then:关键字,后面跟规则的结果部分。

RHS(Right Hand Side):是规则的后果或行动部分的通用名称。 (右手边

end:关键字,表示一个规则结束。

3. 模式匹配

 

 4. Drools内置方法

        Drools提供了一些方法可以用来操作工作内存中的数据操作完成后规则引擎会重新进行相关规则的匹配原来没有匹配成功的规则在我们修改数据完成后有可能就会匹配成功了。

 1> 修改 update方法

update方法的作用是更新工作内存中的数据,并 让相关的规则重新匹配。

参数

 

规则:

 

测试会输出俩条成功匹配到一和二的输出信息,积分为100

2> 添加 insert方法

insert方法的作用是向工作内存中插入数据,并让相关的规则重新匹配

 

最后会输出俩条规则,但是积分为0

3> 删除 retract方法

retract方法的作用是删除工作内存中的数据,并让相关的规则重新匹配。

 

结果为匹配到规则二,积分为0

5. Drools规则属性

1> salience属性
  • salience属性用于指定规则的执行优先级取值类型为Integer数值越大越优先执行

  • 没有添加执行优先级,执行由上到下执行
 
  • 添加优先级
 
2> no-loop属性
  • no-loop属性用于防止死循环

 

6. Drools高级语法

  • global关键字用于在规则文件中定义全局变量,它可以让应用程序的对象在规则文件中能够被访问。

  • 语法结构为global 对象类型 对象名称

 

测试

 

Drools是一种规则引擎,它允许用户通过定义规则来管理和执行业务规则。主要功能和作用包括

  1. 规则管理:Drools提供了一个规则编辑器和存储库,允许用户定义和管理业务规则。用户可以使用规则编辑器创建规则,并将它们保存在规则库中进行集中管理。这样可以方便地修改、更新和删除规则。

  2. 规则评估:Drools允许用户将规则与传入的数据进行匹配和评估。用户可以通过定义规则的条件和动作来描述规则的行为。当传入的数据满足规则的条件时,规则引擎将执行规则的动作。

  3. 决策支持:Drools可以帮助用户进行决策支持,通过评估和执行规则来生成决策结果。用户可以定义一组规则来描述不同的决策情况,并根据传入的数据来决定执行哪个规则。

  4. 业务流程管理:Drools还提供了一种业务流程管理的功能,允许用户定义和管理业务流程。用户可以使用规则来定义业务流程的各个步骤和条件,并根据传入的数据来执行相应的流程步骤。

最新文章
电源品牌排行榜{要最新的}
1航嘉 2长城 3ANTEC 4先马 5超频三 6Tt7鑫谷 8全汉 9大水牛10海盗船11酷冷至尊12海韵 13金河田 14安耐美 15振华 16台达科技17昂
优化网站结构,让网站对搜索引擎友好,提升SEO的关键策略,打造搜索引擎友好型网站结构,SEO优化核心策略全解析
优化网站结构,提升SEO的关键策略包括:合理规划网站架构,确保URL简洁明了;优化内部链接,提高页面权重;使用标题、描述标签优
网站关键词优化排名推荐
推荐网站关键词优化排名服务,可有效提高网站在搜索引擎中的排名,增加网站流量和曝光率。通过专业的SEO技巧和策略,对网站进行
WordPress安装的几种方式
最近有一些朋友在建立WordPress站点时,对于一个服务器或者虚拟主机建立多个站点有一些疑问,所以今天我们来详细说明一下,同服
蒸湘区 数字化赋能让教育更智慧
湖南日报12月11日讯(全媒体记者 成俊峰 通讯员 龙青 谢睿)今天,在衡阳市蒸湘区红湖逸夫小学的一堂美术课上,孩子们拿着平板电
wordpress 成品网站升级完成,全面提升网站性能和用户体验
WordPress 成品网站的升级,首先体现在性能的显著提升上。通过优化数据库结构、改进缓存机制以及压缩文件等一系列技术手段,网站
梦幻西游18技能“林中鸟”BB打书惨遭一本掉,欧皇挖图连出高兽!
  本来应该高兴才对,只是看见雷鸟人的属性他突然明白了什么,原来这是一只双特殊野生雷鸟人。听说野生宠更容易全红,要不直接
金华SEO实战指南,深度解析百度优化推广,快速提升网站排名秘籍
本教程深入解析百度SEO优化策略,涵盖全方位技巧,助您快速提升网站在百度搜索结果中的排名,有效推动网站流量增长。随着互联网
拷贝漫画
拷贝漫画苹果版下载安装是一款非常出色的漫画阅读软件,它为用户提供了丰富多样的漫画资源,涵盖了各种题材和类型,满足了不同用