我正在使用Drools開始一個項目。我的項目的DRL文件如下所示:如果其中一條規則未通過,Drools會忽略其餘規則
rule "Rule 1"
when
Item(id > 100)
// consequence implementation
rule "Rule 2"
when
Item(type == "phone")
// consequence implementation
rule "Rule 3"
when
Item(screenSize == 5)
// consequence implementation
rule "Rule 4"
when
Item(branch == "motorola")
// consequence implementation
rule "Rule 5"
when
Item(price > 200)
// consequence implementation
當Drools運行時,我有5個解僱規則。如果一件物品沒有通過5條消防規則之一,我想Drools會忽略其餘4條消防規則。 Drools的功能是否適合我的目的?
另一個重要的是我的Drools使用AgendaFilter運行。該功能是否支持AgendaFilter?
我無法理解您的最後一段。什麼是「全規則案例」,而您的過濾器示例還不清楚。 – laune 2014-09-29 14:38:27
所有規則的情況下Drools運行時將觸發5條規則,如果項目匹配條件。當我使用AgendaFilter僅允許「規則1」「規則2」「規則3」時,Drools將僅檢查項目只有[「規則1」,「規則2」,「規則3」] – qmn1711 2014-09-30 02:47:01
正如你所說:你稱之爲「所有規則的情況「,並使用一個AgendaFilter阻止這些規則中的一個或多個*不相同*。再一次,允許觸發(通過過濾器)的規則將盡可能多地觸發**,除非您添加約束條件,例如,如我的答案中所述。 – laune 2014-09-30 10:47:07