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

步骤:

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

操作:

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

1.1编写>项目编写

Drools6.5使用Drools6.5 Workbench 上的规则_第1张图片

1.2新建项目>项目

Drools6.5使用Drools6.5 Workbench 上的规则_第2张图片

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

Drools6.5使用Drools6.5 Workbench 上的规则_第3张图片

1.4添加数据对象

Drools6.5使用Drools6.5 Workbench 上的规则_第4张图片

Drools6.5使用Drools6.5 Workbench 上的规则_第5张图片

 

添加规则DRL文件

Drools6.5使用Drools6.5 Workbench 上的规则_第6张图片

项目构建后目录结构

Drools6.5使用Drools6.5 Workbench 上的规则_第7张图片

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

选择项目构建并部署:

Drools6.5使用Drools6.5 Workbench 上的规则_第8张图片

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

Drools6.5使用Drools6.5 Workbench 上的规则_第9张图片

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

Drools6.5使用Drools6.5 Workbench 上的规则_第10张图片

2.4查看pom文件:

Drools6.5使用Drools6.5 Workbench 上的规则_第11张图片

3.搭建Drools6.5开发环境

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

Drools6.5使用Drools6.5 Workbench 上的规则_第12张图片

3.2 pom依赖为:

<dependencies>
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starterartifactId>
    dependency>

    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-testartifactId>
        <scope>testscope>
    dependency>
    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-webartifactId>
    dependency>
    <dependency>
        <groupId>org.kiegroupId>
        <artifactId>kie-apiartifactId>
        <version>${drools.version}version>
    dependency>
    <dependency>
        <groupId>org.droolsgroupId>
        <artifactId>drools-coreartifactId>
        <version>${drools.version}version>
    dependency>
    <dependency>
        <groupId>org.droolsgroupId>
        <artifactId>drools-compilerartifactId>
        <version>${drools.version}version>
    dependency>
    <dependency>
        <groupId>org.droolsgroupId>
        <artifactId>drools-compilerartifactId>
        <version>${drools.version}version>
    dependency>
    <dependency>
        <groupId>org.droolsgroupId>
        <artifactId>drools-decisiontablesartifactId>
        <version>${drools.version}version>
    dependency>
    <dependency>
        <groupId>org.droolsgroupId>
        <artifactId>drools-templatesartifactId>
        <version>${drools.version}version>
    dependency>
    <dependency>
        <groupId>org.kiegroupId>
        <artifactId>kie-ciartifactId>
        <version>${drools.version}version>
    dependency>
    <dependency>
        <groupId>org.kiegroupId>
        <artifactId>kie-springartifactId>
        <version>${drools.version}version>
    dependency>
dependencies>

4.配置规则引擎Maven依赖

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

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

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

Drools6.5使用Drools6.5 Workbench 上的规则_第13张图片

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

 
        
         guvnor-m2-repo  
         true  
         http  
         192.168.2.216  
         8081  
         tomcat  
         tomcat  
      
 
    
 

Drools6.5使用Drools6.5 Workbench 上的规则_第14张图片

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项目代码

 

你可能感兴趣的:(drools,spring,boot,drools,workbench)