学习 Spark 2(八):集成 Drools

在日常开发过程中,偶尔会遇到业务逻辑变更频繁且变更较小的情况,每次业务逻辑变更都需要经历一次上线的过程,效率非常低下。 解决问题的一个思路,是将这部分经常变化的业务逻辑抽象出来,存储在应用外部(文件系统或者数据库),在程序运行的时候动态加载。 Drools 是基于 Java 的规则引擎,可以使用规则实现复杂的逻辑处理,也可以动态加载规则实现逻辑的动态加载。 下面,以根据商品日均销售额判断商品级别为例,演示: 依赖 编辑 pom.xml 文件,添加 Drools 依赖: »

规则引擎 Drools(十四):DSL

DSL 用于将 DSLR 中的语句转为 DRL 的语言。 DSLR 由业务专家编写,DSL 由开发人员编写。 DSL 通过正则表达式匹配,将 DSLR 中的语句替换为 DRL 代码。 DSL 语法 [<scope>]<dsl expression> »

规则引擎 Drools(十一):条件元素 accumulate

accumulate accumulate 用于遍历数据集对数据项执行自定义或预设动作并返回结果。 自定义 示例: 遍历所有的姑娘计算姑娘们的平均年龄。 rule "test accumulate" when $avg: Number() from accumulate(Person(sex == "female", $age: age), init(int total = 0, count = 0;), action( »