urule规则引擎使用(2022详细)


因为工作上遇到了urule开源版本规则引擎,所以在这里 介绍一下自己是如何使用的

一、开源版本和pro版本的区别

1、功能比较

这里是免费版本2.0和pro3.0的功能比较:

URULE PRO版与开源版主要功能比较
特性URULE PRO版URULE开源版
向导式决策集
脚本式决策集
决策树
决策流
决策表
交叉决策表
复杂评分卡
文件名、项目名重构
参数名、变量常量名重构
Excel决策表导入
规则集模版保存与加载
中文项目名和文件名支持
服务器推送知识包到客户端功能的支持
知识包优化与压缩的支持
客户端服务器模式下大知识包的推拉支持
规则集中执行组的支持
规则流中所有节点向导式条件与动作配置的支持
循环规则多循环单元支持
循环规则中无条件执行的支持
导入项目自动重命名功能
规则树构建优化
对象查找索引支持
规则树中短路计算的支持
规则条件冗余计算缓存支持
基于方案的批量场景测试功能
知识包调用监控
更为完善的文件读写权限控制
知识包版本控制
SpringBean及Java类的热部署
技术支持

2、更改规则如何生效

免费版本:修改后重启后端服务

二、如何使用开源版本

1、使用指南地址

1.简介 · URule规则引擎使用指南 (bstek.com)

2、运行规则引擎服务

模块结构如下:

xZLY1P.png

其中toplink-rule-server为服务端,toplink-admin为客户端;修改toplink-rule-server里面resources里application.properties数据库配置,在数据库创建空的库。urule会自动创建表

xZL610.png

运行toplink-rule-server的ToplinkRuleServerApplication启动类

打开浏览器访问 http://localhost:8090/urule/ frame,如下图
xZL4AJ.png

这时server端已经成功运行!

3、使用步骤

3.1创建项目

鼠标右键项目列表,点击创建新项目,输入项目名称(项目名称自己定义)

xZL71x.png

xZLOBD.png

3.2创建变量库

变量库对应的是代码中的一个个实体,例如添加一个customer的变量库(变量库名自己定义),代码中应该有一个customer的实体类。

xZOkDS.png

xZOJUJ.png

xZOagx.png

xZO65d.png

上图中2.输入名称(自定义,例如:可以是会员类)3.输入类的全限定包名就是相关实体类的包名,例如:可以输入customer的全包名,用来后续测试会员相关规则的测试。4.点击生成后,右端就会出现对应的实体类的字段(属性)

xZOTaQ.png

xZOqGn.png

最后点击保存!变量库就已经成功创建!

3.3创建决策集或决策树

这里以创建决策集为例,决策集就是规则的集合,用来添加一条条的规则。

xZXJL8.png

名称自定义,例如:customer

创建之后先添加变量库,这样就可以获取相关实体类的属性了,点击添加,选择对应的变量库,这里我们可以添加刚刚创建的customer变量库,后面添加规则的时候就可以获取会员类的属性了。

xZXsyV.png

xZXgwF.png

这样就已经成功添加了。

然后开始添加规则:

xZXIQx.png

xZXqTe.png

这里可以选择会员类的年龄

xZjCm8.png

这里可以选择选择大于

xZjZpn.png

然后选择输入值

xZjRnf.png

比如这里输入18

xZvCg1.png

比如我们可以再添加条件:会员类的等级大于3

xmCI7q.md.png

然后添加那么后面的动作,选择变量赋值,操作和上面的一样

xZvGVS.png

然后添加否则的动作,和上面一样,如:我们添加那么会员类的名称为黄金会员否则为普通会员

xZvJUg.png

点击保存!规则定义成功!

补充变量后面可以添加加减乘除除余操作

xZvyaF.png

3.4测试知识包

可以通过添加知识包对相应的规则进行测试

添加知识包

(包id和包名称自定义)

xZxPiQ.png

添加之后选择该包,再点击添加文件

xZxFRs.png

名称自定义,资源文件路径可以选择刚刚添加的customer的决策集,版本号会自动生成的。

xZxVs0.png

点击保存!知识包创建完成!

这是可以进行仿真测试,点击仿真测试,输入年龄和等级,点击测试决策包

xZxZLV.png

输入测试的年龄和等级后点击测试决策包,就可以对相应规则进行测试了,例如:我们输入年龄20,等级5就可以得到会员的名称为黄金会员了。

xZxndU.png

3.5代码调用

客户端的规则实现,例如:接口:api/rule/test(包含实体类,规则引擎的项目名和测试包名)

这里就是用到的customer实体类,csad项目中的pur知识包

xZxlW9.png

运行toplink-admin的ToplinkApplication启动类

打开浏览器访问 http://localhost:8080/api/rule/test?age=20&level=5,如下图

xZxUoD.png

就可以得到规则中定义的黄金会员了

  • 3
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值