`
log_cd
  • 浏览: 1089284 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Drools4.0之使用技巧

阅读更多
(1)Agenda Filter:规则过滤

Filter 必须实现 AgendaFilter 接口,用来允许或禁止一个 activation 能够被激发。 Drools 提供了下面几种方便的默认实现:

· RuleNameEndWithAgendaFilter

· RuleNameEqualsAgendaFilter

· RuleNameStartsWithAgendaFilter

要使用一个 filter 就要在调用 fireAllRules() 方法的时候指定它。下面的例子将对所有名字以“ Test ”结尾的规则进行过滤:
workingMemory.fireAllRules(  new  RuleNameEndsWithAgendaFilter(  " Test "  ) );

设置过滤条件, 名称为"rule3"的规则将不会被执行。
private static AgendaFilter filter = new AgendaFilter() {
        public boolean accept(Activation activation) {
                        if (activation.getRule().getName().equals("rule3")) {
                                return false;
                        }
                        return true;
                }
};

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics