版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、Guvnor規(guī)則管理及規(guī)則平臺思路以下均以guvnor-distribution-5.4.0.Final.zip為例。 1.規(guī)則DRL文件結(jié)構(gòu)Drools規(guī)則一個典型的DRL文件的結(jié)構(gòu)如下: package com.sample /包名 import java.util.Date; import com.sample.domain.Message; /引入外部類import com.sample.domain.Address;/聲明一個Country類型Factdeclare CountrycountryName : StringcountryCode : StringcreateDate :
2、 java.util.Dateend global java.util.List myGlobalList/全局變量function String changeAddressName(Address address,String newAddress) /定義函數(shù) address.setAddressName(newAddress); return newAddress; rule Hello Worldno-loop truesalience 10 when m : Message( status = Message.HELLO, myMessage : message ) a : Addr
3、ess ( $cnum : cnum 10 ) co : Country ( countryCode = 086 ) then changeAddressName(a,上海路150號); /調(diào)用函數(shù) co.setCountryName(China); System.out.println( myMessage ); m.setMessage( Goodbye cruel world ); m.setStatus( Message.GOODBYE ); myGlobalList.add(global3); update( m ); endrule GoodBye when Message( st
4、atus = Message.GOODBYE, myMessage : message ) then System.out.println( myMessage );End 2.規(guī)則包的創(chuàng)建有以下兩種方式來創(chuàng)建:源碼為:3.外部引入類的設(shè)置在外部編寫好Message和Address類,如下:將兩個類打包成jar包。在guvnor中的com.sample中創(chuàng)建”上傳POJO Model jar”上圖選擇,先前的導(dǎo)出的hello.jar,完成后,如下圖:在com.sample的編輯可以看到,有兩個類已經(jīng)導(dǎo)入了:4.Declare類的創(chuàng)建在guvnor中點”新建聲明性模型”,如下圖:在上圖中選擇相應(yīng)
5、的包。OK點擊 Add new fact type輸入名稱,如下圖:在此可以增加字段或元數(shù)據(jù)。增加Country的屬性,如下:完成后,查看”源代碼”如下圖:5.全局變量的創(chuàng)建在guvnor中點擊”全局變量”的”+”號,進(jìn)行增加全局變量,如下:進(jìn)行定義全局變量:定義完成后如下:此時點擊查看”源代碼”如下圖:6.函數(shù)的創(chuàng)建在guvnor中新建,如下圖:點OK后,出現(xiàn)一個新的函數(shù)編輯器,如下:在上面輸入函數(shù)代碼,如下圖:在com.sample的主界面如下:可以看到增加了一個名稱changeAddressName的函數(shù),狀態(tài)為draft發(fā)布中?,F(xiàn)在查看”源代碼”則顯示,如下圖:7.規(guī)則的創(chuàng)建創(chuàng)建完成后
6、,出現(xiàn)屬性頁面,如下:點擊”編輯”窗口,如下:上圖藍(lán)色框是用來新增此RULE的匹配條件的LHS,而紅色框是用來新增規(guī)則的處理RHS。而(show options)點擊后可以選擇此RULE的相關(guān)屬性。點擊“源代碼”如下圖:7.1規(guī)則的屬性創(chuàng)建點擊“show options”進(jìn)行此規(guī)則的屬性設(shè)置,如下圖:選擇相應(yīng)的規(guī)則運行屬性,完成后如下圖,設(shè)置相應(yīng)的值。點擊”源代碼”可以看到如下圖:現(xiàn)在在com.sample主界面,可以看到已經(jīng)創(chuàng)建了一個規(guī)則,如下圖:7.2規(guī)則的LHS(when)條件元素創(chuàng)建在規(guī)則的編輯界面,點擊when右邊的”+”,如下圖:來增加相關(guān)的when條件,如下圖:上圖紅色框是先前已
7、經(jīng)定義或從外部引入的類pojo模型。在此進(jìn)行變量和條件的設(shè)置,如下圖:上圖點擊”message”為此字段綁定變量。完成后如下:當(dāng)然也可以增加自由的”自由格式的drl”,進(jìn)行條件的編寫,如下圖:在繼續(xù)增加其他的LHS,如下:點擊紅色框的”+”7.3規(guī)則的RHS(then)執(zhí)行創(chuàng)建在THEN右邊”+”點擊來創(chuàng)建THEN執(zhí)行語句,如下圖:如上圖,如果要手工編寫代碼就選擇”添加自由格式的drl”則會出現(xiàn)一個代碼輸入框來輸入代碼。如下圖:當(dāng)然這是一種簡便的方法。下面來使用可視化的操作,在彈出的選擇對象框中如下:上圖可以看到在LHS中定義的變量全部出來了。也都可進(jìn)行相應(yīng)的選擇。現(xiàn)在我們是調(diào)用changeA
8、ddressName函數(shù)如下:這邊沒有直接調(diào)用的選項,所以選擇”添加自由格式的drl”,如下圖:現(xiàn)在進(jìn)行co.setCountryName(China);設(shè)置仿照上面的操作。完成后如下圖:此時”源代碼”如下圖:完成后如下圖:最后設(shè)置update( m );完成后,如下圖:此時”源代碼”如下:現(xiàn)在看一下com.sample的源代碼,如下:8.規(guī)則的測試場景創(chuàng)建點擊”新建測試場景”菜單,創(chuàng)建一個測試場景,如下圖:繼續(xù)設(shè)置運行的fact的值,如下圖:完成后如下圖:點擊”運行測試場景”來運行測試場景,如下圖:可以看到后臺的tomcat控制臺顯示了以上信息, 同時可以看到上圖有2個規(guī)劃被激活。9.外部程序調(diào)用規(guī)則規(guī)則定義好,就可以在com.sample的編輯tab頁,看到如下,紅色的框,有若干url運用客戶端,調(diào)用http:/localhost:8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 職業(yè)學(xué)院船舶動力工程技術(shù)(船舶管系專業(yè))人才培養(yǎng)方案
- 唇色調(diào)和劑產(chǎn)業(yè)運行及前景預(yù)測報告
- 升降作業(yè)平臺市場發(fā)展預(yù)測和趨勢分析
- 掃雪機(jī)產(chǎn)業(yè)規(guī)劃專項研究報告
- 嬰兒搖鈴產(chǎn)品供應(yīng)鏈分析
- 沖浪皮劃艇產(chǎn)業(yè)規(guī)劃專項研究報告
- 醫(yī)用診斷試劑產(chǎn)業(yè)深度調(diào)研及未來發(fā)展現(xiàn)狀趨勢
- 抗疲勞地墊市場發(fā)展預(yù)測和趨勢分析
- 內(nèi)存擴(kuò)展模塊產(chǎn)業(yè)規(guī)劃專項研究報告
- 催乳劑產(chǎn)業(yè)規(guī)劃專項研究報告
- 裝飾裝修工程擬投入的主要施工機(jī)械設(shè)備表
- 婚姻家庭糾紛中的法律風(fēng)險與防范
- 現(xiàn)代物流技術(shù)的應(yīng)用與創(chuàng)新
- 海南省??谑兄攸c中學(xué)2023-2024學(xué)年七年級上學(xué)期期中數(shù)學(xué)試卷(含答案)
- 眼角膜炎的治療藥物
- 中國銀行交易流水明細(xì)清單
- 如何提高數(shù)學(xué)課堂的教學(xué)效率
- 教育輿情報告2023
- 重大事故隱患專項排查檢查表
- 學(xué)美術(shù)的職業(yè)生涯規(guī)劃與管理
- jgj39-2016《托兒所、幼兒園建筑設(shè)計規(guī)范》(2019年版)
評論
0/150
提交評論