结合Drools和Eclipse
1) 准备工作:到网站下载http://jboss.org/drools/downloads.html Drools相关的插件包Drools and jBPM tools(以下版本是5.3.0),并解压。
2) 进行集成:打开Eclipse选择Help下面的Install New Software。
选择Add并选择Local并找到解压后binaries文件下面的org.drools.updatesite,然后进行安装,安装完成重启即可。(详情可参考文件夹解压后的ReadMeDroolsJbpmTools.txt文件)
结合Drools和Spring
我们知道每次如果插入一个事件,都需要获得StatefulKnowledgeSession或者StatelessKnowledgeSession对象,而获得这个对象都需要初始化很多对象。此时很多人想到用Singleton方式,但是我们还想Session的状态也让Drools 给我们管理,这是我们想到了强大的Spring,我们可以使用Spring基本的DI功能,我们想要获得Session时,只需要在Spring容器找就可以了。
1) 准备工作:还是刚才那个网站,下载Drools and jBPM integration包。我们需要里面的Spring包以及drools-grid-impl-5.3.0.Final.jar和drools-spring-5.3.0.Final.jar
2) 建立spring配置文件beans-drools.xml:
<?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:drools="http://drools.org/schema/drools-spring"
xmlns:camel="http://camel.apache.org/schema/spring"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://drools.org/schema/drools-spring http://drools.org/schema/drools-spring.xsd
http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd">
<drools:kbase id="kbase1">
<drools:resources>
<drools:resource type="DRL"
source="classpath:pku/test/rules/FirstRule.drl" />
</drools:resources>
</drools:kbase>
<drools:ksession id="ksession1" type="stateful" kbase="kbase1" />
<!-- <bean id="vip" class="com.jsptpd.rjy.zyj.pojo.Vip" /> -->
<bean id="ruleService" class="pku.test.service.RuleServiceByDrools">
<property name="session" ref="ksession1" />
</bean>
</beans>
在Spring的基本配置文件beans.xml中引用beans-drools.xml:
<?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:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">
<import resource="classpath:beans-drools.xml"/>
</beans>