规则引擎 Drools (三):kmodule.xml

kmodule.xml 位于 src/main/resources/META-INF 目录下,定义了规则引擎如何加载工程中定义的规则。

一个空的 kmodule.xml 文件如下所示:

<?xml version="1.0" encoding="UTF-8"?>  
<kmodule xmlns="http://www.drools.org/xsd/kmodule"/>  

定义 kbase

  • name KIEBase 名称
  • includes 子 KIEBase 名称,多个使用逗号分隔
  • packages 规则文件所在包路径,多个使用逗号分隔

示例:

<?xml version="1.0" encoding="UTF-8"?>  
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">  
    <kbase name="rules" packages="com.dyingbleed.rules">
    </kbase>
</kmodule>  

定义 ksession

  • name KIESession 名称
  • default 是否为默认 session,可选值:true false,默认值:false
  • type 会话类型,可选值:stateful stateless,默认值:stateful

示例:

<?xml version="1.0" encoding="UTF-8"?>  
<kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">  
    <kbase name="rules" packages="com.dyingbleed.rules">
        <ksession default="true"/>
    </kbase>
</kmodule>