我正在使用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