一、Drools6配置的一些约定
1.Drools6缺省认为项目使用maven构建,实际上最好用maven
2.缺省的配置文件位于/META-INF/kmodule.xml,名称路径都是不可改的(其实还有个kmodule-spring.xml,略过以后再讲)
3.Drools6按包路径加载所有规则文件,这样就要求我们分别在src/main/java源文件夹和src/main/resources源文件夹建立同名的包,一个放JAVA文件,一个放规则文件
二、一个配置的范例
首先我们编辑kmodule.xml文件,增加一个配置:
<kbase name="HelloWorldKB" packages="com.bocsoft.drools.demo"> <ksession name="HelloWorldKS"> </ksession> </kbase>
配置里指定了包名为com.bocsoft.drools.demo
然后我们在src/main/resources新建一个包为com.bocsoft.drools.demo,新建一个叫test1.drl的文件
rule "Test1"
when
eval( true )
then
// this is a comment inside a semantic code block
end
最后我们在src/main/java下新建一个包为com.bocsoft.drools.demo,新建一个叫test1.drl的文件
public class KieTest { public static void main(String[] args) { KieServices ks = KieServices.Factory.get(); KieContainer kc = ks.getKieClasspathContainer(); KieSession ksession = kc.newKieSession("HelloWorldKS"); ... //将一些java bean放到ksession中 ksession.fireAllRules(); ksession.dispose(); } }
运行一下,不过这个没有什么输出的,仅演示一下配置