Drools中kmodule.xml简介及功能介绍
drools项目中通常都需要引入kmodule.xml配置文件,本文就介绍一下该文件的作用。
首先思考一下:为什么komdule.xml文件一定要放在resources下的META-INF文件夹中。
直接看源码:
public class KieModuleModelImpl implements KieModuleModel { public static final String KMODULE_FILE_NAME = "kmodule.xml"; public static final String KMODULE_JAR_PATH = "META-INF/" + KMODULE_FILE_NAME; public static final String KMODULE_INFO_JAR_PATH = "META-INF/kmodule.info"; public static final String KMODULE_SRC_PATH = "src/main/resources/" + KMODULE_JAR_PATH; public static final String KMODULE_SPRING_JAR_PATH = "META-INF/kmodule-spring.xml"; // ... }
kmodule基本限制
kmodule中可以包含一个或多个kbase,分别对应drl的规则文件。
kase需要一个唯一的name,可以任意字符串。
packages为drl文件所在resource目录下的路径。注意区分drl文件中的package与此处的package不一定相同。多个包用逗号分隔。默认情况下回扫描resource目录下所有(包含子目录)规则文件。
kbase的default属性,标识当前kieBase是不是默认的,如果是默认的则不用名称就可以查找到该KieBase,但是module最多只能由一个默认KieBase(一般都是设置为false,不用默认的,用name就可以)。
kbase下面可以有一个或多个ksession,ksession的name属性必须设置,且必须唯一。
kbase配置项
KieSession配置项
关注公众号:程序新视界,一个让你软实力、硬技术同步提升的平台
除非注明,否则均为程序新视界原创文章,转载必须以链接形式标明本文链接