乐趣区

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

退出移动版