一、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();
}
}
三、Drools6和spring集成的spring配置文件
好多人在这块出了问题,因为drools6的命名空间配置和drools5的区别是很大的,基本配置信息如下:
<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans”
xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:kie=”http://drools.org/schema/kie-spring”
xsi:schemaLocation=”
http://drools.org/schema/kie-spring http://drools.org/schema/kie-spring.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd”>
<kie:kmodule id=”sample-kmodule”>
<kie:kbase name=”rules” packages=”rules”>
<kie:ksession name=”ksession-rules” />
</kie:kbase>
</kie:kmodule>
<bean id=”kiePostProcessor” class=”org.kie.spring.KModuleBeanFactoryPostProcessor” />
</beans>
本文由“虾米哥”发布,2016年11月11日
转载请注明来源网站:blog.ytso.com谢谢!
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/14624.html