初探Drools--执行一组规则(筛选规则)

初探Drools--执行一组规则(筛选规则)

前言

Drools 版本是7.11的。自己对于Drools的研究是按照需求进行学习的,所以这个系列也算是自己的学习过程。

需求

目前的需求是fact就一个,但是规则有很多,需要将一些规则分组执行。

规则过滤

通常来说 我们调用规则很简单,创建fact 之后 利用session直接fireAllRules就行了。
不过自己也发现fireAllRules()中是可以传参数的,之后发现原来这里有自带的一些对象来帮助我们完成规则过滤

kieSession.insert(rule);
kieSession.fireAllRules(new RuleNameStartsWithAgendaFilter(ruleName+"_"));

AgendaFilter实现类

  1. RuleNameEndsWithAgendaFilter 执行名称以xxx结尾的规则
  2. RuleNameEqualsAgendaFilter 执行名称全匹配的规则
  3. RuleNameMatchesAgendaFilter 可以写自己的正则
  4. RuleNameStartsWithAgendaFilter 执行名称以xxx开头的规则
  5. RuleNameSerializationAgendaFilter 规则名称序列化代理筛选器(其实好像就是可以执行以上4钟中的一钟)

正对自己不同的需求利用不同的筛选规则。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值