drools规则语言指南(一)

简介:

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而且必须是在第一个行,其他的元素都可以包含一个或多个,但是规则名称要唯一。

点赞