![实战Drools规则引擎](https://wfqqreader-1252317822.image.myqcloud.com/cover/322/46670322/b_46670322.jpg)
上QQ阅读APP看书,第一时间看更新
1.5 Drools的核心概念
1.5.1 规则语言
Drools是以声明方式编写规则的,它目前支持两种规则语言:Java和MVEL(MVFLEX Expression Language)。Drools定义的规则保存在以DRL(Drools Rule Language)为扩展名的文件中,在Drools的领域内,这个带有规则定义的DRL文件通常被称为规则文件。一个简单的Drools规则定义通常由以下几部分组成:
![](https://epubservercos.yuewen.com/9BE810/25930158501643706/epubprivate/OEBPS/Images/18_02.jpg?sign=1738868645-WYIanLNfYUJhgQDLw3SLEdjzAiHWgb01-0-a4481f3cfd7b6fc955c50636afc97cac)
![](https://epubservercos.yuewen.com/9BE810/25930158501643706/epubprivate/OEBPS/Images/19_01.jpg?sign=1738868645-hQRCh8bARZKMFhzXRPH9VPcGSLKcVcV0-0-96bfa29c2709d67742f153f975144198)
❑package对规则的存放位置进行了定义,作用同Java里的package。
❑rule、when、then、end是规则语言的保留关键字。
❑规则的名称用来标识被定义的规则,同一个包下的规则名必须唯一。
❑when定义了规则的触发条件。
❑then定义了规则被触发后要做的动作。
一个规则只能存放在一个规则文件中,不能跨多个规则文件存放,而一个规则文件中可以存放多个规则。
简单来说,Drools的规则是由一个或多个“如果”(when)和“那么”(then)组成的,描述的是“如果满足这些条件,那么就做那些事情”。