DRL即Drools Rule Language的简写,以后缀为.drl的文件的形式存在。每个DRL文件中可以存放一个或多个业务规则(rule),每个业务规则最少要包含规则条件部分(when)和业务处理部分(then),每个rule可简单的理解为java中的if语句块,复杂的业务规则可拆分为单个独立的简单的rule,用这样的一组rule来描述完整的业务规则逻辑。可以使用IDEA配置drools插件作为DRL文件的编辑器。 DRL文件组件及格式如下:
package
import
function //可选节点
query //可选节点
declare //可选节点
global //可选节点
rule "rule name"
//Attributes 可选节点
when
//Conditions
then
//Actions
end
rule "rule2 name"
...
简单示例:筛选出所有Student实例,并依次打印其姓名,规则如下:
package rules;
import com.helloworld.bean.Student
rule "rule"
when
Student($n:name)
then
System.out.println("hello, "+$n);
end
其中,package必须在drl文件的最前边,其他的组件可按任意顺序。rule、query、function属于资源类的组件,可用于定义业务逻辑判断和处理,global、import、attribute属于资源引用组件,用于引用和定义外部资源。
另外值得一提的是,同一package下的rule,名称必须唯一,且必须用双引号括起来,否则会编译失败。
因为写作表达能力有限,不善长知识点讲解切换,所以每篇文章仅介绍单一的知识点,况且特别冗长的文章看着容易犯困(哈哈,至少我是这样),所以欲知后事如何,且听下回分解。