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