flowable DMN規則引擎幾種型別解釋 04

2021-10-24 02:28:45 字數 2291 閱讀 9939

多重命中

flowabledmn規則引擎幾種型別解釋

單一命中

第乙個(first)

可以匹配多個(重疊)具有不同輸出條目的規則。返回規則順序中的第一次命中(返回後停止評估)。

唯一(unique)

沒有重疊的可能,所有規則都是互斥的。只能匹配到一條規則。

如果多個會報錯

可以利用設定解決這個問題

dmnengine.getdmnengineconfiguration().setstrictmode(false);

優先順序(priority)

具有不同的輸出條目的多個規則可以匹配。此策略返回具有最高輸出優先順序的匹配規則。輸出優先順序在輸出值的有序列表中按優先順序遞減的順序指定。當禁用strict mode且未定義輸出值時,結果是最後乙個有效規則。(違規將以驗證訊息的形式出現)

任何(any)

可能會有重疊,但如果所有匹配規則顯示每個輸出的輸出條目相等,就可以使用任何匹配。如果輸出條目不相等,則命中策略不正確,結果將為空並標記為failed。當禁用strict mode時,結果是最後乙個有效規則。(違規將以驗證訊息的形式出現)

多重命中

輸出順序(output order)

按輸出優先順序遞減的順序返回所有命中規則。輸出優先順序在輸出值的有序列表中按優先順序遞減的順序指定。

規則順序(rule order)

按規則順序返回所有命中

1、疊加變數

$2、包含 任意都在

輸入:list inputvariable1 = arrays.

aslist

("test1"

,"test2"

,"test3");

processvariablesinput.

put(

"collection1"

, inputvariable1)

;輸出:

test2 or test5 in collection1

$3、傳入物件

輸入:person customerone =

newperson()

;customerone.

setname

("test1");

customerone.

setage

(10l)

;processvariablesinput.

put(

"customerone"

, customerone)

;輸出:$

4、json傳入匹配 in 兩個並且都在

輸入:createarraynode()

.add

("test1").

add(

"test2").

add(

"test3");

processvariablesinput.

put(

"arraynode1"

, arraynode1)

;輸出:"test1 and test2 in arraynode1"

$5、不包含 任意都不在

傳入:list inputvariable1 = arrays.

aslist

("test1"

,"test2"

,"test3");

processvariablesinput.

put(

"collection1"

, inputvariable1)

;表示式:test3 and / or test6 not in collection1

$6、不包含 not in 兩個並且都不在

輸入:list inputvariable1 = arrays.

aslist

("test1"

,"test2"

,"test3");

processvariablesinput.

put(

"collection1"

, inputvariable1)

;輸出:

test3 and test5 not in collection1

$

採集(collect)

以任意順序返回所有命中。我們可以新增運算子(+,<,>,#)來將乙個簡單函式應用於輸出。如果沒有運算子,則結果是所有輸出條目的列表。

+(總和):決策表的結果是所有不同輸出的總和。

<(最小值):決策表的結果是所有輸出中的最小值。

『>(最大值):決策表的結果是所有輸出中的最大值。

#(計數):決策表的結果是不同輸出的數量。

mysql 規則引擎 為什麼使用規則引擎?

一天,朱斯參加了一場code review研討會。會上的一群人正在討論著如何對祖傳 進行變更,大家你一言,我一語,場面十分熱鬧!突然,只見人群中的乙個人滿面愁容,說道 昨天在專案中看到下面這樣一段 分支太多了!維護起來很煩啊!if day 周一 else if day 周二 else if day ...

規則引擎pyke

1.官網 2.安裝第三方包 pyenv global anaconda3 4.2.0 pip install htmltemplate 3.原始碼安裝pyke pyenv global anaconda3 4.2.0 cd pyke3 1.1.1 python setup.py build pyth...

規則引擎 easy rules

直接看官方的例子。經典的例子 大致的步驟 建立各種規則,即rule.可以通過 pojo 或 rulebuilder api 兩種方式建立。建立規則容器rules rules new rules 註冊建立的規則rules.add rule 建立流,即facts.流控制規則的引數輸入.facts fac...