動態載入規則:就是不直接寫drl規則檔案,從資料庫中讀取資料,然後拼接成字串,再載入到work memory中。下面是執行**:
動態拼接字串:
public string rule2drl(rule rule)
**上面沒有寫具體的業務邏輯,可根據需要自動新增。
拼接好字串以後,就需要去build了,首先使用的方法是knowledgebase,也就是知識庫載入,方法可以執行成功,但是knowledgebase這個類過時了。
方法一:
public void handle()
knowledgebase kbase = knowledgebasefactory.newknowledgebase();
kbase.addknowledgepackages(kb.getknowledgepackages());
ksession = kbase.newstatefulknowledgesession();
ksession.insert(new object());
ksession.fireallrules();
ksession.dispose();
} catch (unsupportedencodingexception e)
}
方法二:看了文件以後發現最新的動態載入kiehelper 這個類來實現的,具體**如下:
public void handle()
這樣很簡單就可以載入出來規則了 drools 7 x 決策表使用
何時使用決策表 如果規則能夠被表達為模板 資料的格式,那你 應該考慮使用決策表。決策表中的每一行就是對應模板的一行資料,將產生乙個規則。執行決策表 drools 引擎所部署的系統中執行決策表。首先,決策表轉換 成的drools規則語言 drl 然後執行規則引擎需求。這意味著它是可能的業務規則的變更,...
drools動態從字串載入規則
drools載入規則的方式正常情況下是需要從drl檔案中去載入,但有時候我們需要動態根據資料儲存的資訊來構建我們的規則,然後 讓drools去載入。我們可以通過如下方式手工載入的方式載入規則。knowledgebuilder kb knowledgebuilde ctory.newknowledge...
Drools規則引擎遠端載入規則檔案
1.建立乙個drools工程 2.建立乙個dynamic web project 主要體現遠端載入規則檔案,將規則檔案放在這個工程中,並配上伺服器 其中,sample.drl是個規則檔案,在瀏覽器中訪問如圖所示 3.再drools工程中建立乙個類,我這裡類名為 remoteloadrule,意思就是...