Drools6.5使用Drools6.5 Workbench 上的规则

来源:互联网 发布:微信隐私 知乎 编辑:程序博客网 时间:2024/06/05 04:18

步骤:

  • 在Drools Workbench 上配置对应的规则
  • 发布对应的规则为jar包
  • 搭建Drools6.5开发环境
  • 配置规则引擎Maven依赖
  • 测试引用远程规则
  • 测试DEMO

操作:

1.在Drools Workbench 上配置对应的规则

1.1编写>项目编写

1.2新建项目>项目

1.3添加项目名/项目描述/组ID/构建ID/版本,并点击完成。

1.4添加数据对象

 

添加规则DRL文件

项目构建后目录结构

2.发布对应的规则为jar包

选择项目构建并部署:

2.1构建成功后到构件库查看:

2.3查看到构件资料库中已经生成fintech-risk_control-1.0.0.jar及fintech-risk_control-1.0.0.pom

2.4查看pom文件:

3.搭建Drools6.5开发环境

3.1构建springboot和Drools6.5整合的规则服务项目:

3.2 pom依赖为:

<dependencies>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-test</artifactId>        <scope>test</scope>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.kie</groupId>        <artifactId>kie-api</artifactId>        <version>${drools.version}</version>    </dependency>    <dependency>        <groupId>org.drools</groupId>        <artifactId>drools-core</artifactId>        <version>${drools.version}</version>    </dependency>    <dependency>        <groupId>org.drools</groupId>        <artifactId>drools-compiler</artifactId>        <version>${drools.version}</version>    </dependency>    <dependency>        <groupId>org.drools</groupId>        <artifactId>drools-compiler</artifactId>        <version>${drools.version}</version>    </dependency>    <dependency>        <groupId>org.drools</groupId>        <artifactId>drools-decisiontables</artifactId>        <version>${drools.version}</version>    </dependency>    <dependency>        <groupId>org.drools</groupId>        <artifactId>drools-templates</artifactId>        <version>${drools.version}</version>    </dependency>    <dependency>        <groupId>org.kie</groupId>        <artifactId>kie-ci</artifactId>        <version>${drools.version}</version>    </dependency>    <dependency>        <groupId>org.kie</groupId>        <artifactId>kie-spring</artifactId>        <version>${drools.version}</version>    </dependency></dependencies>

4.配置规则引擎Maven依赖

4.1添加的规则仓库配置为:

<repositories>    <repository>        <id>guvnor-m2-repo</id>        <name>Guvnor M2 Repo</name>        <url>http://192.168.2.216:8081/kie-drools-wb/maven2/</url>    </repository></repositories>

4.2 在本地的maven的setting.xml文件中添加规则仓库授权信息(如果规则服务和Drools Workbench不在同一台机器,则需要请求授权(账号和密码),建议分开部署不同的机器)

添加以下内容用于远程请求规则仓库授权:

<proxies>  
       <proxy>  
         <id>guvnor-m2-repo</id>  
         <active>true</active>  
         <protocol>http</protocol>  
         <host>192.168.2.216</host>  
         <port>8081</port>  
         <username>tomcat</username>  
         <password>tomcat</password>  
       </proxy>  
     </proxies> 

5.测试引用远程规则

@Configuration@ComponentScan(basePackages = {"com.xmjr.fintech.risk.api"})public class DroolsConfiguration {   @Autowired   KieContainer kieContainer;   @Bean   public KieContainer kieContainer() throws Exception{      KieServices ks = KieServices.Factory.get();     //获取远程的规则仓库中的规则包      KieContainer kContainer = ks.newKieContainer(            ks.newReleaseId("com.xmjr.fintech", "fintech-risk-control", "1.0.0") );      return kContainer;   }   @Bean   public KieSession kieSession() {      return kieContainer.newKieSession();   }}

6.样例DEMO

   Drools workbench文件及DEMO项目代码