Drools 開發(fā)學習資料記錄

記錄一些Drools的學習資源

http://blog.csdn.net/timedifier2/article/details/53542172
動態(tài)規(guī)則(template、DB)
http://blog.csdn.net/caicongyang/article/details/52702628
靜態(tài)規(guī)則

KIE的API中有以下的幾個類和接口需要介紹下:

KieServices
該接口提供了很多方法,可以通過這些方法訪問KIE關于構建和運行的相關對象,比如說可以獲取KieContainer,利用KieContainer來訪問KBase和KSession等信息;可以獲取KieRepository對象,利用KieRepository來管理KieModule等。
KieServices就是一個中心,通過它來獲取的各種對象來完成規(guī)則構建、管理和執(zhí)行等操作。

KieContainer
可以理解KieContainer就是一個KieBase的容器。

KieBase
KieBase就是一個知識倉庫,包含了若干的規(guī)則、流程、方法等,在Drools中主要就是規(guī)則和方法,KieBase本身并不包含運行時的數(shù)據(jù)之類的,如果需要執(zhí)行規(guī)則KieBase中的規(guī)則的話,就需要根據(jù)KieBase創(chuàng)建KieSession。

KieSession
KieSession就是一個跟Drools引擎打交道的會話,其基于KieBase創(chuàng)建,它會包含運行時數(shù)據(jù),包含“事實 Fact”,并對運行時數(shù)據(jù)事實進行規(guī)則運算。我們通過KieContainer創(chuàng)建KieSession是一種較為方便的做法,其實他本質上是從KieBase中創(chuàng)建出來

KieRepository
KieRepository是一個單例對象,它是一個存放KieModule的倉庫,KieModule由kmodule.xml文件定義(當然不僅僅只是用它來定義)。

KieProject
KieContainer通過KieProject來初始化、構造KieModule,并將KieModule存放到KieRepository中,然后KieContainer可以通過KieProject來查找KieModule定義的信息,并根據(jù)這些信息構造KieBase和KieSession。

ClasspathKieProject
ClasspathKieProject實現(xiàn)了KieProject接口,它提供了根據(jù)類路徑中的META-INF/kmodule.xml文件構造KieModule的能力,也就是我們能夠基于Maven構造Drools組件的基本保障之一。

http://www.iigrowing.cn/java_gui_ze_yin_qing_zong_jie.html

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容