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:惟一標識
相關文章
相關標籤/搜索