注意几点:
1. kmodule 有默认的加载路径, 看 KieModuleModelImpl 这个类的源代码
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";
默认地址就是 src/main/resources/META-INF/kmodule.xml
2. kmodule 可以有多个kbase ,并可以指定多个kbase ,可以设置默认kbase , 如果设置了默认kbase
3. kmodule的kbase name 不能重复
4. kbase可以有设置多个ksession , name必须指定且必须唯一
kmodule.xml
<?xml version="1.0" encoding="utf-8" ?> <kmodule xmlns="http://www.drools.org/xsd/kmodule"> <kbase name="rules" default="true"> <ksession name="all-rules"></ksession> <ksession name="all-rules得"></ksession> </kbase> <kbase name="rules2" packages="cn.xiaojf.rules" default="false"> </kbase> </kmodule>
其它代码参考第二节
http://www.cnblogs.com/xiaojf/p/8331351.html