100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > drools动态配置规则_关于规则引擎

drools动态配置规则_关于规则引擎

时间:2021-12-15 10:26:56

相关推荐

drools动态配置规则_关于规则引擎

很早之前就知道Drools,这几天正好有个项目,里面用了大量的规则定义,就想是否能采用Drools来解决。

在github上分析了规则引擎项目,包括:

Easy-rules

/j-easy/easy-rules

通过程序代码来完成规则引擎,没有外部配置。从例子来看,都还比较简单。

/Hale-Lee/RuleEngine

最好使用的规则引擎之一,可以直接使用SQL语句定义规则,简化了编码的负荷,也可以使用XML, drl文件配置规则,还支持drools文件导入。

RuleBook

/rulebook-rules/rulebook

100% Java, Lambda Enabled, Lightweight Rules Engine with a Simple and Intuitive DSL,和spring有很好的集成。

这些引擎的基本思路都是按Martin Fowler的文章"Should I use a Rules Engine?"的指导来开发。和Drools比较起来,这几个项目都简单不少。

从某种意义上来说,程序即使规则的组合。使用规则引擎,基本的出发点是解决业务规则的多多变性问题,如果在进一步考虑规则的可配置型,并且是界面友好的可配置,这样的系统就比较复杂了,可以参考美团的实践,

从0到1:构建强大且易用的规则引擎​mp.

其实还有一种更加灵活的变通解决方案,就是利用Java的Script引擎来直接执行JavaScript脚本,将输入和输入都定义成一个Map<String ,Object>,规则判断都可以通过JavaScript来编写

这种方式虽然更加灵活,但并不能解决规则本身的复用性问题。但在实际应用中,规则都是和具体流程绑定,规则本身的复用性价值有多大呢?

基于JavaScrip的引擎可以参考以下两个项目:

json-rules-engine

/CacheControl/json-rules-engine

A rules engine expressed in JSON

Node-rules

/mithunsatheesh/node-rules

Node-rules is a light weight forward chaining rule engine written in JavaScript.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。