1.基礎API
規則編譯,規則收集,規則執行三類
KnowledgeBuilder 收集已經編寫好的規則,對規則文件進行編譯,產生KnowledgePackage 。可以檢查規則的正確性。
// 檢查規則正確性
if(kb.hasErrors()){
log.error(kb.getErrors().toString());
}
KnowledgeBase 收集應用中知識定義的知識庫對象,不包含業務員數據對象(fact),fact是通過KnowledgeBase 產生的session對象插入,session對象可以觸發規則執行。
KieSession 有兩種狀態:可以參考 https://www.cnblogs.com/ffaiss/p/11002126.html
無狀態:相同的kieSession中不同調用不會相互干擾,使用execute()重載,之前內容會被拋棄
有狀態:交互時保持狀態,使用dispose()方法釋放內存資源
Fact對象 javaBean插入到規則的WorkingMemory中後的對象;規則可以對fact進行讀寫操作;fact對象是對原來JavaBean的引用
小結:剛開始入門drools,在網上找到很多文章,還是比較亂的,尤其是不同版本的API使用,下篇會把具體的例子放上來。