Drools规则引擎入门

规则引擎以及Drools简介:

https://www.cnblogs.com/chocolatexll/p/15864384.htmlhttps://blog.csdn.net/Hmj050117/article/details/121891852

DRL文件中高级语法(golbal、query、function、LHS/RHS的高级用法):

https://www.cnblogs.com/wwjj4811/p/15294523.html

完整的drl文件结构:

关键字描述
package包名,只限于逻辑上的管理,同一个包名下的查询或者函数可以直接调用
import用于导入类或者静态方法
global全局变量
function自定义函数
query查询
rule end规则体

1.agenda-group 属性

        为议程分组,属于另一种可控的规则执行方式。用户可以通过设置agenda-group来控制规则的执行,只有获取焦点的组中的规则才会被触发。

        与activation-group不同的是,activation-group定义的分组中只能够有一个规则可以被触发,而agenda-group分组中的多个规则都可以被触发。

/*** drl文件 片段代码 ***/
rule "PTEQPYAA"
    #activation-group "Trx-Trx"
    agenda-group "Trx-Trx"
    when
        $x : TrxCadInfoX1(xTrcIdn == "123")
        $z1 : TrxCadInfoZ1()
    then
        $z1.setzCadNbr("123456");
end

/*** java文件 片段代码 ***/
KieSession kieSession = KieUtils.getKieSession();
FactHandle trxCadX1 = kieSession.insert(trxCadInfoX1);
kieSession.fireAllRules(new RuleNameEqualsAgendaFilter("Trx-Trx")); //指定议程组匹配规则
//kieSession.delete(trxCadX1);  //从工作内存中删除对象
kieSession.dispose(); //关闭session

2.activation-group属性

        指激活分组,取值为String类型。具有相同分组名称的规则只能有一个规则被触发。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值