Drools

Drools 7.73.0.Final

简介

一种业务规则管理系统,可对业务规则和复杂的事件进行可靠的评估。在业务场景中,经常有很多复杂,多变的业务规则,Drools可以将复杂多变的业务规则从硬编码中拆解出来,以规则脚本的形式存放到数据库中,使得业务规则的变更不需要修改代码即可完成线上修改。

主要应用场景

  1. 风险控制系统。风险贷款,风险评估。

  2. 反欺诈项目。银行贷款,征信验证。

  3. 决策平台系统。财务结算。

  4. 促销平台。满减,打折,加价购。

解决的问题

  1. 复杂多变的业务规则,硬编码难以维护和修改。

  2. 每次业务规则变更,都需要修改代码,进行上线。

名次解释

规则文件

定义规则时的文件。以.drl为后缀。

Rule Base

规则库。所有在规则文件中定义的规则,都会被导入到规则库中。

Working memory

工作内存,drools规则引擎会从工作内存中获取对象,并且和规则文件中定义的规则进行匹配。

Fact

事实。将一个javaBean导入到工作内存中的对象,即表示是一个事实对象。

Pattern matcher

匹配器。将工作内存中的Fact与规则库中的规则进行匹配,匹配成功的规则将会被激活并加到Agenda中。

Agenda

议程。用于存放匹配成功并激活的规则。

Execution engine

执行引擎。用于执行Agenda中的规则。

Api开发步骤

  1. 获取KieService。

  2. 获取KieContainer。

  3. 获取KieSession。

  4. insert fact。

  5. 触发规则。

  6. 关闭KieSession。

语法

Rule

Query

spring boot 集成

添加maven依赖

bean交给spring 容器管理

使用

rule

query

可视化

workbench是官方提供的可视化规则定制。

docker安装

  1. 查找

docker search drools

“drools-workbench-showcase”是官方配置好的“drools-workbench”,因而在“drools-workbench-showcase”中用户不用自己去注册,直接将账号拿来登录就可以了,而“drools-workbench”不是,它还得需要手动去注册账号,因而使用最多的也就是“drools-workbench-showcase”。

  1. 拉取镜像

docker pull jboss/drools-workbench-showcase

  1. 运行

docker run -p 8080:8080 -p 8001:8001 -d --name drools-workbench-showcase docker.io/jboss/drools-workbench-showcase:latest

  1. 访问

/business-central

  1. 默认账户

用户名:admin

密码:admin

Last updated