Drools需要注意的一些小细节
Drools中的rule的的名称
rule的名称和包名没有语法意义,通常rule的名称可以命名为有实际意义的规则名,可以是汉语。
Drools不同文件的执行顺序,多个文件中有同一条规则,是执行一遍还是两遍?
多个文件的执行顺序
程序默认会扫描所有的drl文件,全部都执行,通过Kmodule.xml的packages属性控制。
具体文件的执行顺序暂时不太明确,在实际开发当中最好是一类业务的规则放置在一个文件中。
文件内的执行顺序:
每个文件中规则的执行顺序是从上向下执行,所有LHS符合的都会执行RHS,但是可以使用salience指定优先级,使用
activation-group分组。
rule的名字应该是全局唯一的
多个文件中的规则名称必须唯一不重复,否则会报错:text=Duplicate rule name:,若是名称不一样,只要符合条件都会触发执行。
评论区