Drools规则引擎

Drools介绍

drools是由JBoss组织提供的基于Java语言开发的开源规则引擎,可以把业务规则从硬编码中解耦出来,以规则脚本的形式存放在文件或存储介质中(例如存放在数据库中),使得业务规则变动在不改动代码且不需要部署就可以在线上环境立即生效,做到业务和规则的分离。

drools官网地址

​​​​​​Drools - Drools - Business Rules Management System (Java™, Open Source)d

Drools使用 

maven坐标

<dependency>
    <groupId>org.drools</groupId>
    <artifactId>drools-compiler</artifactId>
    <version>7.10.0.Final</version>
</dependency>

创建resources/META-INF/kmodule.xml配置文件

<?xml version="1.0" encoding="UTF-8" ?>
<kmodule xmlns="http://www.drools.org/xsd/kmodule">
    <!--
        name:指定kbase的名称,可以任意,但是需要唯一
        packages:指定规则文件的目录,需要根据实际情况填写,否则无法加载到规则文件
        default:指定当前kbase是否为默认
    -->
    <kbase name="myKbase" packages="rules" default="true">
        <!--
            name:指定ksession名称,可以任意,但是需要唯一
            default:指定当前session是否为默认
        -->
        <ksession name="ksession-rule" default="true"/>
    </kbase>
</kmodule>

no-loop和lock-on-active区别 

no-loop true // 定义当前的规则是否允许多次循环执行,默认是 false,也就是当前的规则只要满足条件,可以无限次执行,自行触发如规则体内的insert、update、retract


lock-on-active true //将lock-on-active属性的值设置为true,可避免因某些Fact对象被修改而使已经执行过的规则再次被激活执行,其他规则调用
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值