資源描述:
《drools5規(guī)則引擎開發(fā)教程》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、http://www.bstek.comDrools5Drools5規(guī)則引擎Drools5規(guī)則引擎開發(fā)教程高杰上海銳道信息技術(shù)有限公司2009-8-20第1頁共74頁http://www.bstek.com1.學(xué)習(xí)前的準備Drools是一款基于Java的開源規(guī)則引擎,所以在使用Drools之前需要在開發(fā)機器上安裝好JDK環(huán)境,Drools5要求的JDK版本要在1.5或以上。1.1.開發(fā)環(huán)境搭建大多數(shù)軟件學(xué)習(xí)的第一步就是搭建這個軟件的開發(fā)環(huán)境,Drools也不例外。本小節(jié)的內(nèi)容就是介紹如何搭建一個Drools5的開發(fā)、運行、調(diào)試環(huán)境。1.1.1.
2、下載開發(fā)工具Drools5提供了一個基于Eclipse3.4的一個IDE開發(fā)工具,所以在使用之前需要到http://eclipse.org網(wǎng)站下載一個3.4.x版本的Eclipse,下載完成之后,再到http://jboss.org/drools/downloads.html網(wǎng)站,下載Drools5的Eclipse插件版IDE及Drools5的開發(fā)工具包,如圖1-1所示。第2頁共74頁http://www.bstek.com圖1-1除這兩個下載包以外,還可以把Drools5的相關(guān)文檔、源碼和示例的包下載下來參考學(xué)習(xí)使用。將下載的開發(fā)工具包及ID
3、E包解壓到一個非中文目錄下,解壓完成后就可以在Eclipse3.4上安裝Drools5提供的開發(fā)工具IDE了。1.1.2.安裝DroolsIDE打開Eclipse3.4所在目錄下的links目錄(如果該目錄不存在可以手工在其目錄下創(chuàng)建一個links目錄),在links目錄下創(chuàng)建一個文本文件,并改名為drools5-ide.link,用記事本打開該文件,按照下面的版本輸入Drools5EclipsePlugin文件所在目錄:path=D:\eclipse\drools-5.0-eclipse-all這個值表示Drools5EclipsePlu
4、gin文件位于D盤eclipse目錄下的drools-5.0-eclipse-all下面,這里有一點需要注意,那就是drools-5.0-eclipse-all文件夾下必須再包含一個eclipse目錄,所有的插件文件都應(yīng)該位于該eclipse目錄之下,接下來要在windos下重啟Eclipse3.4,檢驗Drools5IDE是否安裝成功。進入windos,進入Eclipes3.4所在目錄,輸入eclipse–clean啟動Eclipse3.4。啟動完成第3頁共74頁http://www.bstek.com后打開菜單WindowPreferen
5、ces,在彈出的窗口當中如果能在左邊導(dǎo)航樹中發(fā)現(xiàn)Drools節(jié)點就表示Drools5IDE安裝成功了,如圖1-2所示。圖1-2IDE安裝完成后,接下來需要對Drools5的IDE環(huán)境進行簡單的配置,打開菜單WindowPreferences,在彈出的窗口當中選擇左邊導(dǎo)航樹菜單DroolsInstalledDroolsRuntimes設(shè)置Drools5IDE運行時依賴的開發(fā)工具包,點擊“Add…”按鈕添加一個開發(fā)工具包,如圖1-3所示。第4頁共74頁http://www.bstek.com圖1-3圖1-3當中添加了一個開發(fā)工具包,名稱為“dr
6、ools-5.0.0”,對應(yīng)的工具包目錄為D盤docaboutruledrools5.xdrools-5.0-bin目錄。添加完成后這樣Drools5的開發(fā)環(huán)境就搭好了。下面我們就來利用這個環(huán)境編寫一個規(guī)則看看運行效果。1.2.編寫第一個規(guī)則1.3.規(guī)則的編譯與運行在Drools當中,規(guī)則的編譯與運行要通過Drools提供的各種API來實現(xiàn),這些API總體來講可以分為三類:規(guī)則編譯、規(guī)則收集和規(guī)則的執(zhí)行。完成這些工作的API主要有第5頁共74頁http://www.bstek.comKnowledgeBuilder、KnowledgeBa
7、se、StatefulKnowledgeSession、StatelessKnowledgeSession、、等,它們起到了對規(guī)則文件進行收集、編譯、查錯、插入fact、設(shè)置global、執(zhí)行規(guī)則或規(guī)則流等作用,在正式接觸各種類型的規(guī)則文件編寫方式及語法講解之前,我們有必要先熟悉一下這些API的基本含義及使用方法。1.3.1.KnowledgeBuilder規(guī)則編寫完成之后,接下來的工作就是在應(yīng)用的代碼當中調(diào)用這些規(guī)則,利用這些編寫好的規(guī)則幫助我們處理業(yè)務(wù)問題。KnowledgeBuilder的作用就是用來在業(yè)務(wù)代碼當中收集已經(jīng)編寫好的規(guī)則,然
8、后對這些規(guī)則文件進行編譯,最終產(chǎn)生一批編譯好的規(guī)則包(KnowledgePackage)給其它的應(yīng)用程序使用。KnowledgeBuilder在編譯規(guī)