关于Drools规则引擎,之前已经写了几篇相关文章,如果大家不熟悉的可以移步了解下:
本篇博客主要为大家列举一些常用,简单的drl文件,帮助大家更加深入地了解其drl文件地编写格式及常用的操作符
说明:每个 drl 都必须声明一个包名,这个包名与 Java 里面的不同,它不需要与文件夹的层次结构一致,
主要用于可以根据kmodule.xml中不同的package属性来指定加载哪个.drl文件,
packages="org.some.pkg"表示ksession2只会加载org.some.pkg下的规则文件,如果没写,则默认加载所有的规则文件。
关于kmodule.xml的更多详情,可以参考:Drools规则引擎详解-语法及组件
package droolsDemo
导入实体类,规则判断都是通过实体类的属性来进行比较的
import com.rulesengine.drools.User
import com.rulesengine.drools.Pet
import com.rulesengine.drools.Dog
import com.rulesengine.drools.BoolTest
每一条规则都有一个唯一的名字,必须有,如果有重名,会在引擎加载drl文件中报错。
rule "multiple condition"
salience值越大越先匹配,还有其他的属性设置能够帮助我们实现不同的需求,比如 分组,过期设置,是否循环等等。可以参考:Drools规则引擎详解-语法及组件