java drools是什么,讓我們一起了解一下:
Drools是為Java量身定制的基于Charles Forgy的RETE算法的規(guī)則引擎的實現(xiàn),具有了OO接口的RETE,使得商業(yè)規(guī)則有了更自然的表達(dá)。而且用XML節(jié)點來規(guī)范If--Then句式和事實的定義,使引擎干起活來更方便。
drools的基本工作過程是什么?
通常而言我們使用一個接口來做事情,首先要穿進(jìn)去參數(shù),其次要獲取到接口的實現(xiàn)執(zhí)行完畢后的結(jié)果,而drools也是一樣的,我們需要傳遞進(jìn)去數(shù)據(jù),用于規(guī)則的檢查,調(diào)用外部接口,同時還可能需要獲取到規(guī)則執(zhí)行完畢后得到的結(jié)果。
在drools中,這個傳遞數(shù)據(jù)進(jìn)去的對象,術(shù)語叫 Fact對象。Fact對象是一個普通的java bean,規(guī)則中可以對當(dāng)前的對象進(jìn)行任何的讀寫操作,調(diào)用該對象提供的方法,當(dāng)一個java bean插入到workingMemory中,規(guī)則使用的是原有對象的引用,規(guī)則通過對fact對象的讀寫,實現(xiàn)對應(yīng)用數(shù)據(jù)的讀寫,對于其中的屬性,需要提供getter setter訪問器,規(guī)則中,可以動態(tài)的往當(dāng)前workingMemory中插入刪除新的fact對象。
規(guī)則文件可以使用 .drl文件,也可以是xml文件,這里我們使用drl文件。
具體案例分析如下:
???????????????????? ????????org.kie ????????????kie-api ????????????7.11.0.Final ???????????????????? ????????org.slf4j ????????????slf4j-nop ????????????1.7.6 ???????????????????? ???????? ????????org.kie ????????????kie-ci ????????????7.11.0.Final ???????????????????? ????????com.myspace ????????????ljlTest ????????????1.0.0 ????????? com.thoughtworks.xstream ?xstream ?1.4.10 ?
以上就是小編今天的分享了,希望可以幫助到大家。