drools6集成spring

参考文章链接

http://justsee.iteye.com/blog/1279082

http://liureying.blog.163.com/blog/static/6151352011111810916588/

http://blog.csdn.net/sinat_24910337/article/details/50587793

https://hub.docker.com/r/jboss/drools-workbench/

http://my.oschina.net/CandyDesire/blog/342055

http://shikonglaike.iteye.com/blog/1236354

1、在drools官网下载Drools Engine(jar文件、源码、文档、示例)、Drools Workbench、Drools and jBPM tools(Eclipse plugins and support for Drools),官网链接:http://www.drools.org/download/download.html

下载链接:

http://download.jboss.org/drools/release/6.4.0.Final/drools-distribution-6.4.0.Final.zip

http://download.jboss.org/drools/release/6.4.0.Final/kie-drools-wb-distribution-wars-6.4.0.Final-tomcat7.war

http://download.jboss.org/drools/release/6.4.0.Final/droolsjbpm-tools-distribution-6.4.0.Final.zip

2、给Eclipse安装Drools插件,用于编辑drl文件、创建drools工程等。

将droolsjbpm-tools-distribution-6.4.0.Final.zip文件中的

droolsjbpm-tools-distribution-6.4.0.Final.zip

  droolsjbpm-tools-distribution-6.4.0.Final

    binaries

      org.drools.updatesite

文件夹解压出来,重新打成一个zip文件

打开MyEclipse,在Help下选择Install from site...

在弹出的对话框中选择Add添加本地zip文件

不要勾选红框中的插件,点击下一步,下一步,同意协议后开始安装,完成后重新启动MyEclipse。

3、新建一个空白drools工程

新建的工程结构如下

其中的pom.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>drools.group</groupId>
  <artifactId>drools.artifact</artifactId>
  <version>1.0</version>
</project>

pom.properties文件内容如下:

1 groupId=drools.group
2 artifactId=drools.artifact
3 version=1.0

kmodule.xml文件内容如下:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
 3     <kbase name="rules" packages="rules">
 4         <ksession name="ksession-rules"/>
 5     </kbase>
 6     <kbase name="dtables" packages="dtables">
 7         <ksession name="ksession-dtables"/>
 8     </kbase>
 9     <kbase name="process" packages="process">
10         <ksession name="ksession-process"/>
11     </kbase>
12 </kmodule>

4、在pom.xml文件添加如下依赖

<drools.version>6.4.0.Final</drools.version>

 1         <!-- drools规则引擎 begin -->
 2         <dependency>
 3             <groupId>org.drools</groupId>
 4             <artifactId>drools-core</artifactId>
 5             <version>${drools.version}</version>
 6         </dependency>
 7         <dependency>
 8             <groupId>org.drools</groupId>
 9             <artifactId>drools-decisiontables</artifactId>
10             <version>${drools.version}</version>
11         </dependency>
12         <dependency>
13             <groupId>org.drools</groupId>
14             <artifactId>drools-templates</artifactId>
15             <version>${drools.version}</version>
16         </dependency>
17         <dependency>
18             <groupId>org.drools</groupId>
19             <artifactId>drools-compiler</artifactId>
20             <version>${drools.version}</version>
21         </dependency>
22         <dependency>
23             <groupId>org.drools</groupId>
24             <artifactId>knowledge-api</artifactId>
25             <version>${drools.version}</version>
26         </dependency>
27         <dependency>
28             <groupId>org.kie</groupId>
29             <artifactId>kie-spring</artifactId>
30             <version>${drools.version}</version>
31         </dependency>
32         <dependency>
33             <groupId>org.kie</groupId>
34             <artifactId>kie-api</artifactId>
35             <version>${drools.version}</version>
36         </dependency>
37         <dependency>
38             <groupId>org.kie</groupId>
39             <artifactId>kie-ci</artifactId>
40             <version>${drools.version}</version>
41         </dependency>
42         <dependency>
43             <groupId>org.kie</groupId>
44             <artifactId>kie-internal</artifactId>
45             <version>${drools.version}</version>
46         </dependency>
47         <dependency>
48             <groupId>org.mvel</groupId>
49             <artifactId>mvel2</artifactId>
50             <version>2.2.8.Final</version>
51         </dependency>
52         <dependency>
53             <groupId>com.google.protobuf</groupId>
54             <artifactId>protobuf-java</artifactId>
55             <version>2.6.0</version>
56         </dependency>
57         <dependency>
58             <groupId>org.antlr</groupId>
59             <artifactId>antlr-runtime</artifactId>
60             <version>3.5</version>
61         </dependency>
62         <dependency>
63             <groupId>antlr</groupId>
64             <artifactId>antlr</artifactId>
65             <version>2.7.2</version>
66         </dependency>
67         <dependency>
68             <groupId>com.thoughtworks.xstream</groupId>
69             <artifactId>xstream</artifactId>
70             <version>1.4.7</version>
71         </dependency>
72         <!-- drools规则引擎 end -->

新建spring-drools.xml文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:kie="http://drools.org/schema/kie-spring"
 4     xmlns:camel="http://camel.apache.org/schema/spring"
 5     xsi:schemaLocation="
 6             http://drools.org/schema/kie-spring https://raw.githubusercontent.com/droolsjbpm/droolsjbpm-integration/master/kie-spring/src/main/resources/org/kie/spring/kie-spring-6.0.0.xsd
 7             http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
 8             http://drools.org/schema/kie-spring http://drools.org/schema/kie-spring.xs">
 9     <!-- http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd -->
10     <!-- 每5分钟扫描是否有新版本文件 -->
11     <kie:import releaseId-ref="ksession-releaseId"
12         enableScanner="true" scannerInterval="300000" />
13     <kie:releaseId id="ksession-releaseId" groupId="com.demo"
14         artifactId="risk" version="REALEASE" />
15     <bean id="kiePostProcessor" class="org.kie.spring.annotations.KModuleAnnotationPostProcessor" />
16     <!-- -Dspring.profiles.active="development" -->
17     <beans profile="development">
18         <kie:kmodule id="test-kmodule">
19             <kie:kbase name="drl_kiesample" packages="drl_kiesample">
20                 <kie:ksession name="ksession1" type="stateful">
21                     <kie:consoleLogger />
22                     <kie:batch>
23                         <kie:insert-object ref="person2" />
24                         <kie:set-global identifier="persons" ref="personsList" />
25                         <kie:fire-all-rules max="10" />
26                     </kie:batch>
27                 </kie:ksession>
28             </kie:kbase>
29         </kie:kmodule>
30     </beans>
31 </beans>  
时间: 2024-08-01 20:14:56

drools6集成spring的相关文章

06_在web项目中集成Spring

在web项目中集成Spring 一.使用Servlet进行集成测试 1.直接在Servlet 加载Spring 配置文件 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); HelloService helloService = (HelloService) applicationContext.getBean("helloS

Struts2集成Spring

转载请注明出处:jiq?钦's technical Blog 1 集成Struts: 给web工程集成Struts2比较简单,下载struts2,将所需的jar文件add进去,然后配置web.xml增加请求处理者配置: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmln

apacheFtpServer集成spring由web容器控制启动和关闭

ApacheFtpServer是一个100%纯Java实现的FTP服务器,基于网络框架apache MINA实现,可支撑多并发用户.FtpServer可以独立运行作为一个Windows服务或Unix/Linux守护进程,或嵌入到Java应用程序,提供对内部集成spring应用程序支持.下面介绍apacheFtpServer与spring集成,交由spring控制ApacheFtpServer的启动与关闭. 1.      初始化创建MyFtpServer: import java.io.File

mybatis集成spring的事务管理

第一 创建一个测试实体 1 public class Order { 2 3 private int id; 4 private String orderName; 5 6 public Order(String orderName) { 7 this.orderName = orderName; 8 } 9 10 public int getId() { 11 return id; 12 } 13 public void setId(int id) { 14 this.id = id; 15

Spring学习(一)tomcat加载web.xml、以及项目集成Spring支持

tomcat容器加载web.xml 一. 1 .启动一个 WEB 项目的时候, WEB 容器会去读取它的配置文件 web.xml ,读取 <listener> 和 <context-param> 两个结点. 2 .紧急着,容创建一个 ServletContext ( servlet 上下文),这个 web 项目的所有部分都将共享这个上下文. 3 .容器将 <context-param> 转换为键值对,并交给 servletContext . 4 .容器创建 <li

Hibernate 检索查询的几种方式(HQL,QBC,本地SQL,集成Spring等)

1.非集成Spring hibernate的检索方式,主要有以下五种. 1.导航对象图检索方式.(根据已经加载的对象,导航到其他对象.) 2.OID检索方式.(按照对象的OID来检索对象.) 3.HQL检索方式.(使用面向对象的HQL查询语言.) 4.QBC检索方式.(使用QBC(Qurey By Criteria) API来检索对象.) 5.本地SQL检索方式.(使用本地数据库的SQL查询语句.) 1.导航对象图检索方式 利用类与类之间的关系来检索对象.譬如我们要查找一份订单,就可以由订单对象

MyBatis6:MyBatis集成Spring事物管理(下篇)

前言 前一篇文章<MyBatis5:MyBatis集成Spring事物管理(上篇)>复习了MyBatis的基本使用以及使用Spring管理MyBatis的事物的做法,本文的目的是在这个的基础上稍微做一点点的进阶:多数据的事物处理.文章内容主要包含两方面: 1.单表多数据的事物处理 2.多库/多表多数据的事物处理 这两种都是企业级开发中常见的需求,有一定的类似,在处理的方法与技巧上又各有不同,在进入文章前,先做一些准备工作,因为后面会用到多表的插入事物管理,前面的文章建立了一个Student相关

jersey 集成spring,并使用grizzly内置容器测试jersey

jersey集成spring相对来说比较简单,需要注意的几点是: 1.引入maven依赖jersey-spring,其中包含了spring的相关依赖,如果和项目中所使用的spring版本相冲突,可以通过exclusions清除掉. 2.确保jersey资源类所在的包路径,能被spring扫描到,即spring配置中的<context:component-scan base-package="" />. 3.确保jersey资源类打上注解@Component,这样可以注入sp

开涛spring3(7.5) - 对JDBC的支持 之 7.5 集成Spring JDBC及最佳实践

7.5 集成Spring JDBC及最佳实践 大多数情况下Spring JDBC都是与IOC容器一起使用.通过配置方式使用Spring JDBC. 而且大部分时间都是使用JdbcTemplate类(或SimpleJdbcTemplate和NamedParameterJdbcTemplate)进行开发,即可能80%时间使用JdbcTemplate类,而只有20%时间使用其他类开发,符合80/20法则.   Spring JDBC通过实现DaoSupport来支持一致的数据库访问. Spring J