简介:
DRL (Drools Rule Language)是drools规则语言的简称,在使用drools规则引擎的时候,我们经常把写好的规则放在.drl文件中,然后规则引擎再去加载规则,那么一个drl文件基本组成是什么样子的呢?继续向下看:
drools规则文件的组成
package //包名
import //导入的哪些类
function // 可选,定义的函数
query // 可选,定义的查询
declare //可选, 声明
global // 可选,定义的全局变量
rule "规则名1"
// 属性
when
// 条件
then
// 符合条件后执行的动作
end
rule "rule2 name"
...
下面的一段示例DRL规则(注意这个例子只是一个规则,而不是整个规则文件的内容,所有它没有写出package,import)定义了在一个贷款决策服务中对年龄条件的限制:
rule "Underage"
salience 15
agenda-group "applicationGroup"
when
$application : LoanApplication()
Applicant( age < 21 )
then
$application.setApproved( false );
$application.setExplanation( "Underage" );
end
Note: 一个DRL文件只能有一个package而且必须是在第一个行,其他的元素都可以包含一个或多个,但是规则名称要唯一。