Drools
文章平均质量分 58
gaojingyuan
这个作者很懒,什么都没留下…
展开
-
1.Drools概述
使用场景:大规模复杂且频繁变更的业务场景下,将业务逻辑从代码中抽取出来,一方面使代码复杂度降低,另一方面对于频繁变更的业务逻辑,可以随时修改规则文件,而不需要重新部署代码。提到JBoss的规则引擎,会想到JBPM工作流引擎,相似之处是工作流引擎中把流程从代码中抽取出来,变更流程时候只需要修改并重新部署流程文件。JBoss提供了workbench以及kie-server,对Drools以及J...原创 2018-07-27 17:03:21 · 280 阅读 · 0 评论 -
2.Rete
Drools使用了Rete算法,Rete算法是一种前向规则快速匹配算法,其匹配速度与规则数目无关。Rete是拉丁文,对应英文是net,也就是网络。Rete算法通过形成一个rete网络进行模式匹配,利用基于规则的系统的两个特征,即时间冗余性(Temporal redundancy)和结构相似性(structural similarity),提高系统模式匹配效率。 简单来说,规则引擎在对规则文件进行...原创 2018-07-27 17:04:36 · 713 阅读 · 0 评论 -
3.使用Workbench以及kie-server
安装Workbench以及kie-server https://blog.csdn.net/chinrui/article/details/79018351Workbench安装说明https://hub.docker.com/r/jboss/drools-workbench-showcase/kie-server安装说明https://hub.docker.com/r/jbo...原创 2018-07-27 17:44:08 · 1585 阅读 · 1 评论 -
4.SpringBoot引入drools
1.maven依赖<dependency><groupId>org.kie</groupId><artifactId>kie-api</artifactId></dependency><!-- 决策表 --><dependency><grou原创 2018-07-27 17:44:40 · 987 阅读 · 0 评论 -
5.规则模板
当多个规则文件的代码相同,但是需要根据不同的参数,输出不同的结果时可以选择使用规则模板,避免了写多个相似的drl文件。 1.maven依赖<!-- 模板 --><dependency> <groupId>org.drools</groupId> <artifactId>drools-templates</...原创 2018-07-27 17:45:12 · 717 阅读 · 0 评论 -
6.决策表
决策表的使用方式与使用drl规则文件基本一致,好处是可以把一些相关的规则以表格方式展示,便于阅读及维护 1.maven依赖<!-- 决策表 --><dependency> <groupId>org.drools</groupId> <artifactId>drools-decisiontables</ar...原创 2018-07-27 17:59:10 · 2428 阅读 · 0 评论 -
7.stateful session
使用stateless session时,通常我们插入一个fact,对应规则集合A被触发,如果fact内容的变化,我们可以在fireAllRules之后,看到fact内容的修改。但如果需要进行逻辑推理,在fact的内容变化时,我们想让规则引擎感知变化的话,就需要用到stateful session。 使用stateless session时,直接调用对象的方法:$sprinkler.se...原创 2018-07-27 18:01:38 · 183 阅读 · 0 评论