Drools执行流程
参考b站黑马博学谷Drools视频,侵权请联系删除
规则引擎的构成
主要由工作内存(working memory,存事实对象)、规则库(rule base)、推理引擎(inference engine)构成。推理引擎又包括匹配器(pattern matcher)、议程(agenda)、执行引擎(execution engine)。
相关概念
工作内存:Drools规则引擎会从工作内存获取数据并和规则文件定义的规则进行模式匹配,我们开发的应用程序只需要将数据插入到工作内存即可。如kieSession.insert(model),将model对象插入到工作内存。
事实:指在Drools规则应用当中,将一个普通的javaBean插入到工作内存后的对象就是事实对象。
规则库:在规则文件中定义的规则会被加载到规则库中。
匹配器:将规则库的所有规则和工作内存中的事实对象进行模式匹配,匹配成功的规则将被激活并放到议程中。
议程:用于存放通过匹配器进行模式匹配后被激活的规则。
执行引擎:执行议程中被激活的规则。
规则引擎执行过程
使用Drools引擎的主要工作就是编写规则文件,在规则文件中定义跟业务相关的业务规则。规则定义好后就需要调用Drools提供的api将数据提供给规则引擎进行规则模式匹配,规则引擎会执行匹配成功的规则并将计算结果返回。