kie-api介绍和使用

参考:KIEhtml

kie在drools jbpm uberfire里普遍被使用,下面对kie-api中的几个重要组件作下简单介绍java

maven依赖

<dependency>
<groupId>org.kie</groupId>
<artifactId>kie-api</artifactId>
<version>6.0.2.Final</version>
</dependency>

几个组件api

 

KieServices:kie总体的入口,能够用来建立Container,resource,fileSystem等session

KieContainer: KieContainer就是一个KieBase的容器,能够根据kmodule.xml 里描述的KieBase信息来获取具体的KieSession
KieBase: KieBase就是一个知识仓库,包含了若干的规则、流程、方法等,在Drools中主要就是规则和方法,KieBase自己并不包含运行时的数据之类的,若是须要执行规则KieBase中的规则的话,就须要根据KieBase建立KieSession
KieSession:KieSession就是一个跟Drools引擎打交道的会话,其基于KieBase建立,它会包含运行时数据,包含“事实 Fact”,并对运行时数据事实进行规则运算

KieModule:是一个包含了多个kiebase定义的容器。通常用kmodule.xml来表示maven

KieModuleModel:是kmodule.xml 文件的java表示,能够不用添加xml文件而是经过程序代码的方式来构建,
KieFileSystem:一个完整的文件系统,包括资源和组织结构 

KieBuilder:当把全部的规则文件添加到KieFileSystem中后,经过把KieFileSystem传递给一个KieBuilder,能够构建出这个虚拟文件系统。其中有个buildAll()方法,会在构建好虚拟文件系统后,自动去构建KieModuleui

KieRepository:是一个KieModule的仓库,包含了全部的KieModule描述,用一个ReleaseId作区分url

KieResources:是一个定义了如何获取资源的工厂,包括url,classpath,filesystem等spa

kiemodule.xml大概是一个样子大概以下的xml:xml

<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
 <kbase name="rules" packages="rules">
 <ksession name="ksession-rules"/>
 </kbase>
 <kbase name="dtables" packages="dtables">
 <ksession name="ksession-dtables"/>
 </kbase>
 </kmodule>
 kbase name:名字惟一标示
packages:资源文件所在的目录
 ksession name:惟一标识
相关文章
相关标签/搜索