除了上面我们介绍的直接写.drl结尾的规则文件外,我们还可以通过写决策表来完成类似的工作。决策表(decision table)是一个“精确而紧凑的”表示条件逻辑的方式,非常适合商业级别的规则。决策表与现有的drl文件可以无缝替换。Drools提供了相应的API可以将xls文件编译为drl格式的字符串。
下面我们通过一个简单的决策表来入门,表的内容如下:
上图中包含了一个决策表的完整组成部分,下面我们来看一下决策表的主要组成:
关键字 | 说明 | 是否必须 |
---|---|---|
RuleSet | 相当于drl文件中的package | 必须,只能有一个。如果没有设置RuleSet对应的值则使用默认值rule_table |
Sequential | 取值为Boolean类型。true表示规则按照表格自上到下的顺序执行,false表示乱序 |