規則引擎是easy-rules facts 的核心,以下是關於規則引擎的一些參數說明
從3.1 開始,easy-rules提供了一個新的rule 執行方法InferenceRulesEngine 我們可以
進行推理的方式執行,直到有符合條件的rule
創建rule 引擎
包含了兩種,默認的以及一個包含推理的
RulesEngine rulesEngine = new DefaultRulesEngine();
// or
RulesEngine rulesEngine = new InferenceRulesEngine();
運行規則引擎
rulesEngine.fire(rules, facts);
規則引擎的參數
- rulePriorityThreshold
當碰到優先級超過此配額,忽略其他rule 的執行 - skipOnFirstAppliedRule
如果碰到有異常,告訴引擎,停止執行其他的規則 - skipOnFirstNonTriggeredRule
如果碰到一個rule沒有觸發,告訴引擎停止執行其他的
編碼方式控制參數
RulesEngineParameters parameters = new RulesEngineParameters()
.rulePriorityThreshold(10)
.skipOnFirstAppliedRule(true)
.skipOnFirstFailedRule(true)
.skipOnFirstNonTriggeredRule(true);
RulesEngine rulesEngine = new DefaultRulesEngine(parameters);
獲取引擎參數的方式
RulesEngineParameters parameters = myEngine.getParameters();
參考資料
https://github.com/j-easy/easy-rules/wiki/defining-rules-engine