記錄一些Drools的學習資源
- http://www.cnblogs.com/tom-lau/p/6913315.html
- https://www.ibm.com/developerworks/cn/java/j-drools/
- http://blog.csdn.net/lifetragedy/article/details/51143914
- http://www.drools.org.cn/279.html
- http://www.open-open.com/doc/list/173?o=d
- http://dyingbleed.com
- http://blog.csdn.net/wsdc0521/article/details/50371267
- http://blog.csdn.net/lifetragedy/article/details/51143914
- http://www.cnblogs.com/ciade/p/5234791.html
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組件的基本保障之一。