`

drools5入门(1)

 
阅读更多

安装drools5插件

 

直接解压drools-5.0-eclipse-all.zipeclipse下的 dropins目录中。

 

建立一个Java Project

 

引入drools必备的jar

 

antlr-runtime-3.1.1.jar

core-3.4.2.v_883_R34x.jar

drools-api-5.0.1.jar

drools-compiler-5.0.1.jar

drools-core-5.0.1.jar

mvel2-2.0.10.jar

 

创建一个UserPOJO类:

package com.test;

 

publicclass User {

  

   private String loginName;

 

   public String getLoginName() {

      returnloginName;

   }

 

   publicvoid setLoginName(String loginName) {

      this.loginName = loginName;

   }

 

   @Override

   publicint hashCode() {

      finalint prime = 31;

      int result = 1;

      result = prime * result

           + ((loginName == null) ? 0 : loginName.hashCode());

      return result;

   }

 

   @Override

   publicboolean equals(Object obj) {

      if (this == obj)

        returntrue;

      if (obj == null)

        returnfalse;

      if (getClass() != obj.getClass())

        returnfalse;

      User other = (User) obj;

      if (loginName == null) {

        if (other.loginName != null)

           returnfalse;

      } elseif (!loginName.equals(other.loginName))

        returnfalse;

      returntrue;

   }

 

   @Override

   public String toString() {

      return"User [loginName=" + loginName + "]";

   }

}

 

 

新建一个规则定义文件

package com.test;

 

rule"rule_01"

   when

      $user : User(loginName != null)

   then

      System.out.println("hello, " + $user.getLoginName());

end

 

最后写一个RuleApp规则启动类:

package com.test;

 

import org.drools.KnowledgeBase;

import org.drools.KnowledgeBaseFactory;

import org.drools.builder.KnowledgeBuilder;

import org.drools.builder.KnowledgeBuilderFactory;

import org.drools.builder.ResourceType;

import org.drools.io.ResourceFactory;

import org.drools.runtime.StatefulKnowledgeSession;

 

publicclass RuleApp {

 

   publicstaticvoid main(String[] args) {

      KnowledgeBase knowledgeBase = createKnowledgeBase();

      StatefulKnowledgeSession session = knowledgeBase

           .newStatefulKnowledgeSession();

      try {

        User user = new User();

        user.setLoginName("zhangsan");

        session.insert(user);

        session.fireAllRules();

      } finally {

        session.dispose();

      }

   }

 

   privatestatic KnowledgeBase createKnowledgeBase() {

      KnowledgeBuilder builder = KnowledgeBuilderFactory

           .newKnowledgeBuilder();

      builder.add(ResourceFactory.newClassPathResource("helloworld.drl",

           User.class), ResourceType.DRL);

      if (builder.hasErrors()) {

        thrownew RuntimeException(builder.getErrors().toString());

      }

      KnowledgeBase knowledgeBase = KnowledgeBaseFactory.newKnowledgeBase();

      knowledgeBase.addKnowledgePackages(builder.getKnowledgePackages());

      return knowledgeBase;

   }

 

}

 

 

测试输出

hello, zhangsan

 

 

 

 

分享到:
评论

相关推荐

    Drools规则引擎从入门到精通

    1 Drools简介1.1 Drools的作用1.2 使用规则引擎的优势1.3 规则引擎应用场景2 Drools初体验2.1 构建项目2.2 案例描述 2.3 代码实现3 Drools语法介绍3.1 规则文件的组成3.2 规则体语法结构3.3 Pattern模式匹配 ...

    Drools5规则引擎开发教程

    Drools5 规则引擎开发教程 图文教程 介绍drools 入门

    Drools入门手册.ppt

    Drools入门手册.ppt Drools入门手册.ppt Drools入门手册.ppt Drools入门手册.ppt

    drools6入门例子

    简单的入门例子

    规则引擎Drools入门实战案例

    Drools入门案例 Drools基础语法 规则属性 Drools高级语法 Spring整合Drools Spring Boot整合Drools WorkBench Drools实战 个人所得税计算器 信用卡申请 保险产品准入规则 规则引擎,全称为业务规则管理系统,英文名...

    Drools快速入门第二版.ppt

    Drools快速入门第二版.ppt

    drools入门指南(基于drools6.2).pdf

    规则引擎学习

    Drools规则引擎从入门到精通源码

    后面通过搭建具体的项目并结合springboot框架联合使用Drools的相关知识包括决策表的使用,囊括一般项目中所需要的知识点,理论结合实际,让真正入门到熟练。本资源是...

    drools+activity入门

    drools规则引擎和activity工作流结合的maven-Web项目,该项目基于请假流程。项目中实现了动态监控规则文件和工作流文件的变更,从而实现不停止服务器达到重新加载drl和bpmn文件的效果。

    Drools7 demo

    Drools7 例子,网上好多都是5的例子,7改了不少api,有需要的可以参考一下

    Drools入门手册

    drools最好的入门手册,drools最好的入门手册

    drools6学习例子

    很不错的drools6学习的例子 里面有入门的实例及一些语法的例子。

    Drools入门-环境搭建,分析及示例.docx

    Drools入门-环境搭建,分析及示例

    Drools 10分钟入门 代码 PPT

    团队技术分享中使用的演示代码以及PPT,供初学者入门,关键点都有注释说明,代码结构简洁明了.

    Drools 业务规则管理系统 BRMS

    ---02-Drools入门案例(开发实现_1).mp4 ---03-Drools入门案例(开发实现_2).mp4 ---04-Drools入门案例(开发实现_3).mp4 ---05-Drools入门案例(开发实现_4).mp4 ---06-Drools入门案例(小结_规则引擎构成)....

    drools的简单入门案例.doc

    drools的简单入门案例.doc

    Drools_规则引擎详解

    详细介绍了drools架构及开发过程,drools入门资料。同时提供了一些例子

    drools框架学习文档

    Drools简介Drools(JBossRules)具有一个易于访问企业策略、易于调整以及易于管理的开源业务规则引擎,符合业内标准,速度快、效率高

    规则引擎Drools.md

    2.规则rt引擎概述3. Drools入门案例4. Drools基础语法5.Drools属性学习6.Drools高级语法7.案例。资源来源网络,如有侵权,请联系管理员删除

Global site tag (gtag.js) - Google Analytics