Drools 7 X 動態載入規則

2021-08-20 05:17:20 字數 786 閱讀 1268

動態載入規則:就是不直接寫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,意思就是...