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;
                }
};

你可能感兴趣的:(drools 4.0)