中台战略与组件化开发规则引擎Drools+常见组件与中台化
中台战略与组件化开发规则引擎Drools+常见组件与中台化
Drools规则引擎做排班系统
Java 语言编写的开放源码规则引擎,使用 Rete 算法对所编写的规则求值。Drools 允许使用声明方式表达业务逻辑。可以使用非 XML 的本地语言编写规则,从而便于学习和理解。并且,还可以将 Java 代码直接嵌入到规则文件中,这令 Drools 的学习更加吸引人。
总结一句,Drools就是使用已经写好的规则,对业务代码中提交给引擎保管的bean做筛选,筛选后的结果,就是我们想要的结果,例如排班系统,可以将人员存储到引擎中,然后按照排班规则(drl文件)对人员进行筛选归类。
Drools排班的简单示例,可以在Spring组件化构建的Drools组件中查看并下载。
首发地址:
??品茗IT: https://www.pomit.cn/p/2486115243215361
如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以加入我们的java学习圈,点击即可加入,共同学习,节约学习时间,减少很多在学习中遇到的难题。
下面我们来处理下面这种场景(该场景是从网上找来的,部分源码做了改动保证可运行):
场景:
- 员工分为两种:司机,外勤
- 每天分白、中、晚三个班次
- 每班 3 人,一个司机,两个外勤
规则:
- 司机可以当外勤,外勤不可以当司机
- 每个员工每个月至少休息 6 天
- 每个员工连续上班不能超过 5 天
- 工作分配应尽可能均匀
获取到人员排班信息。
XML和drl文件中,也可以从表里取,这里先讲下如何从表里取规则并应用。
规则引擎实体
按照前面说到的场景。
场景:
- 员工分为两种:司机,外勤
- 每天分白、中、晚三个班次
- 每班 3 人,一个司机,两个外勤
Spring组件化构建的Drools组件中查看并下载。
如果大家正在寻找一个java的学习环境,或者在开发中遇到困难,可以
加入我们的java学习圈,点击即可加入
,共同学习,节约学习时间,减少很多在学习中遇到的难题。
下面我们来处理下面这种场景(该场景是从网上找来的,部分源码做了改动保证可运行):
场景:
- 员工分为两种:司机,外勤
- 每天分白、中、晚三个班次
- 每班 3 人,一个司机,两个外勤
规则:
- 司机可以当外勤,外勤不可以当司机
- 每个员工每个月至少休息 6 天
- 每个员工连续上班不能超过 5 天
- 工作分配应尽可能均匀
获取到人员排班信息。
《SpringBoot入门建站全系列(三十四)使用Drools规则引擎做排班系统》查看完整文章
品茗IT-博客专题:https://www.pomit.cn/lecture.html汇总了Spring专题、Springboot专题、SpringCloud专题、web基础配置专题。
Spring项目快速开发工具:
一键快速构建Spring项目工具
一键快速构建SpringBoot项目工具
一键快速构建SpringCloud项目工具
一站式Springboot项目生成
Mysql一键生成Mybatis注解Mapper
Spring组件化构建
SpringBoot组件化构建
SpringCloud服务化构建
喜欢这篇文章么,喜欢就加入我们一起讨论Java Web吧!