Drools规则引擎介绍
drools是一款由JBoss组织提供的基于Java语言开发的开源规则引擎,可以将复杂且多变的业务规则从硬编码中解放出来,以规则脚本的形式存放在文件或特定的存储介质中(例如存放在数据库中),使得业务规则的变更不需要修改项目代码、重启服务器就可以在线上环境立即生效。
drools官网地址:https://drools.org/
drools源码下载地址:https://github.com/kiegroup/drools Drools规则主要组成
drools API开发步骤

了解认识下drools API开发的几个接口
KieServices
该接口提供了很多方法,可以通过这些方法访问KIE关于构建和运行的相关对象,比如说可以获取KieContainer,利用KieContainer来访问KBase和KSession等信息;可以获取KieRepository对象,利用KieRepository来管理KieModule等。
KieServices就是一个中心,通过它来获取的各种对象来完成规则构建、管理和执行等操作。KieContainer
KieContainer可以理解为是一个KieBase的容器。
KieBase
KieBase可以理解为是一个知识仓库,包含了若干的规则、流程、方法等,在Drools中主要就是规则和方法,KieBase本身并不包含运行时的数据之类的,如果需要执行规则KieBase中的规则的话,就需要根据KieBase创建KieSession。
KieSession
KieSession就是一个跟Drools引擎打交道的会话,其基于KieBase创建,它会包含运行时数据,包含“事实 Fact”,并对运行时数据事实进行规则运算。我们通过KieContainer创建KieSession是一种较为方便的做法,其实他本质上是从KieBase中创建出来
KieRepository
KieRepository是一个单例对象,它是一个存放KieModule的仓库,KieModule由kmodule.xml文件定义(当然不仅仅只是用它来定义)。..KieProject
KieContainer通过KieProject来初始化、构造KieModule,并将KieModule存放到KieRepository中,然后KieContainer可以通过KieProject来查找KieModule定义的信息,并根据这些信息构造KieBase和KieSession。ClasspathK

Drools是一款开源的Java规则引擎,它允许将业务规则从代码中分离,通过规则脚本进行管理。Drools的核心组件包括KieServices、KieContainer、KieBase、KieSession和KieRepository。KieServices提供访问各种对象的途径,KieContainer是KieBase的容器,KieBase包含规则,KieSession负责规则执行。规则引擎的执行涉及WorkingMemory、RuleBase和InferenceEngine。开发过程中,主要使用KieServices的工厂方法获取KieRepository、KieContainer和KieSession等,以便构建和运行规则。
最低0.47元/天 解锁文章
1029

被折叠的 条评论
为什么被折叠?



