1.5 Drools的核心概念

1.5.1 规则语言

Drools是以声明方式编写规则的,它目前支持两种规则语言:Java和MVEL(MVFLEX Expression Language)。Drools定义的规则保存在以DRL(Drools Rule Language)为扩展名的文件中,在Drools的领域内,这个带有规则定义的DRL文件通常被称为规则文件。一个简单的Drools规则定义通常由以下几部分组成:

❑package对规则的存放位置进行了定义,作用同Java里的package。

❑rule、when、then、end是规则语言的保留关键字。

❑规则的名称用来标识被定义的规则,同一个包下的规则名必须唯一。

❑when定义了规则的触发条件。

❑then定义了规则被触发后要做的动作。

一个规则只能存放在一个规则文件中,不能跨多个规则文件存放,而一个规则文件中可以存放多个规则。

简单来说,Drools的规则是由一个或多个“如果”(when)和“那么”(then)组成的,描述的是“如果满足这些条件,那么就做那些事情”。