我可以在Drools 6中为同一规则只有一个议程组声明吗?
我可以这个吗?
rule "rule_x" agenda-group "group_x" agenda-group "group_y" when then end
当几个小组聚焦时,我想激活这个规则 .
大多数规则属性只是语法糖,而议程组是其中之一 . 通过回退到逻辑模式很容易实现相同的效果 .
限定
class Group { private String name; ... }
并使用它的一个实例作为表示当前活动组的事实 . 规则必须显示其他模式:
rule in-group-one when Group( name == "one" ) ...
如果规则同时在几个组中:
rule in-groups-one-two when Group( name in ("one", "two") )
您还可以模仿议程组堆叠的行为 .
Later 应该非常仔细地考虑同时关注多个小组的想法 . 虽然很明显,当这三个群体成为焦点时,群组a,b和c中的规则应该触发,但是根本不清楚群组a和b中的规则应该发生什么,或者群组中的另一个规则a ,c和d . 无论发生什么事情都可以用逻辑来表达,但它是否有意义,而且(更重要的是)它是否有用?
1 回答
大多数规则属性只是语法糖,而议程组是其中之一 . 通过回退到逻辑模式很容易实现相同的效果 .
限定
并使用它的一个实例作为表示当前活动组的事实 . 规则必须显示其他模式:
如果规则同时在几个组中:
您还可以模仿议程组堆叠的行为 .
Later 应该非常仔细地考虑同时关注多个小组的想法 . 虽然很明显,当这三个群体成为焦点时,群组a,b和c中的规则应该触发,但是根本不清楚群组a和b中的规则应该发生什么,或者群组中的另一个规则a ,c和d . 无论发生什么事情都可以用逻辑来表达,但它是否有意义,而且(更重要的是)它是否有用?