`
MMSCAU
  • 浏览: 114563 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Drools 5 work with Gunvor

阅读更多

之前使用Drools 4.0.7 知道brms ,发现brms不怎么好用!

 

昨天被问到Drools 5 的怎么用,关于gunvor的,一直都报错!

 

狠下心来,不要了原先的 jboss-4.2.3.GA 重新下载了个:drools-5.0-guvnor-standalone.zip

 

修改:

 

chen.properties

 

newInstance=true
#dir=src/main/rules
#url=http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/com.chen.rules/LATEST

url=http\://localhost\:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST
#url

 

java类:

package com.sample;

import org.drools.KnowledgeBase;
import org.drools.KnowledgeBaseFactory;
import org.drools.RuleBase;
import org.drools.StatefulSession;
import org.drools.agent.RuleAgent;
import org.drools.builder.KnowledgeBuilder;
import org.drools.builder.KnowledgeBuilderError;
import org.drools.builder.KnowledgeBuilderErrors;
import org.drools.builder.KnowledgeBuilderFactory;
import org.drools.builder.ResourceType;
import org.drools.io.ResourceFactory;
import org.drools.logger.KnowledgeRuntimeLogger;
import org.drools.logger.KnowledgeRuntimeLoggerFactory;
import org.drools.runtime.StatefulKnowledgeSession;

/**
 * This is a sample class to launch a rule.
 */
public class DroolsTest {

 public static final void main(String[] args) {
  try {
   // load up the knowledge base
   //KnowledgeBase kbase = readKnowledgeBase();
   RuleBase base=readKnowledgeBase();
   StatefulSession ksession = base.newStatefulSession();
   
   // go !
   Message message = new Message();
   message.setMessage("Hello World");
   message.setStatus(Message.HELLO);
   ksession.insert(message);
   ksession.fireAllRules();
   
  } catch (Throwable t) {
   t.printStackTrace();
  }
 }

 private static RuleBase readKnowledgeBase() throws Exception {
/*  KnowledgeBuilder kbuilder = KnowledgeBuilderFactory.newKnowledgeBuilder();
  kbuilder.add(ResourceFactory.newClassPathResource("Sample.drl"), ResourceType.DRL);
  KnowledgeBuilderErrors errors = kbuilder.getErrors();
  if (errors.size() > 0) {
   for (KnowledgeBuilderError error: errors) {
    System.err.println(error);
   }
   throw new IllegalArgumentException("Could not parse knowledge.");
  }
  KnowledgeBase kbase = KnowledgeBaseFactory.newKnowledgeBase();
  kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());*/
  
  //新写的代码
  RuleAgent agent=RuleAgent.newRuleAgent("/chen.properties");
  RuleBase kbase=agent.getRuleBase();
  
 
  return kbase;
 }

 public static class Message {
  
  public static final int HELLO = 0;
  public static final int GOODBYE = 1;

  private String message;

  private int status;

  public String getMessage() {
   return this.message;
  }

  public void setMessage(String message) {
   this.message = message;
  }

  public int getStatus() {
   return this.status;
  }

  public void setStatus(int status) {
   this.status = status;
  }
  
 }

}

 

Gunvor视图:

视图

 

结构:

结构

 

结果输出:

RuleAgent(default) INFO (Thu Oct 15 01:27:56 CST 2009): Configuring with newInstance=true, secondsToRefresh=-1
RuleAgent(default) INFO (Thu Oct 15 01:27:56 CST 2009): Configuring package provider : URLScanner monitoring URLs: 
http://localhost:8080/drools-guvnor/org.drools.guvnor.Guvnor/package/mortgages/LATEST
RuleAgent(default) INFO (Thu Oct 15 01:28:05 CST 2009): Applying changes to the rulebase.
RuleAgent(default) INFO (Thu Oct 15 01:28:05 CST 2009): Creating a new rulebase as per settings.
RuleAgent(default) INFO (Thu Oct 15 01:28:05 CST 2009): Adding package called mortgages

 

Yes!

夜深了,烦闷地沉睡...

 有一天我会长大

  • 大小: 46.6 KB
  • 大小: 15.3 KB
分享到:
评论

相关推荐

    Drools5.x 规则引擎开发教程

    Drools5.x 是一款基于 Java 的开源规则引擎,它允许开发者在业务逻辑层中使用基于规则的编程方法来构建灵活、可管理的业务规则。规则引擎作为一种软件组件,专门用于根据一组定义好的规则来处理业务逻辑。Drools5.x ...

    Drools5规则引擎开发教程.rar

    Drools5是一款强大的业务规则管理系统,它基于Java平台,为开发者提供了灵活的规则定义、存储、管理和执行的能力。这个“Drools5规则引擎开发教程”将带你深入理解Drools5的核心概念和功能,帮助你有效地在业务应用...

    Drools5规则引擎开发教程.pdf

    《Drools5规则引擎开发教程》是一本深入解析Drools5这一强大规则引擎的指导书籍。Drools5是JBOSS公司推出的一款开源业务规则管理系统(BRMS),它基于Java语言,旨在帮助开发者将业务逻辑从应用程序中分离出来,实现...

    Drools5规则引擎开发教程.zip

    《Drools5规则引擎开发教程》是一份深入解析Drools5的资源包,它旨在帮助开发者理解和应用这个强大的业务规则管理系统。Drools5是JBOSS公司的开源项目,是一个基于Java的规则引擎,它允许开发人员将业务逻辑以规则的...

    Drools5规则引擎学习研究

    《Drools5规则引擎学习研究》 Drools,原名JBoss Rules,是一个强大的开源业务规则管理系统,由JBoss公司开发,基于Charles Forgy的RTE算法,专为Java设计。它允许业务分析师和审核人员以直观的方式查看和验证业务...

    Drools5规则引擎开发文档

    ### Drools5规则引擎开发文档知识点详解 #### 一、Drools5规则引擎简介 Drools是一款基于Java的开源规则引擎,广泛应用于业务逻辑处理领域,它可以帮助开发者快速地构建灵活且复杂的业务规则系统。Drools支持多种...

    drools drools drools drools drools

    drools 是一个强大的规则引擎和业务规则管理系统,用于在Java应用程序中实现复杂的业务逻辑。它基于规则推理,允许用户以声明式的方式定义规则,并在运行时执行这些规则。drools 提供了一个高效的决策自动化框架,...

    Drools5Guide_Drools5Guide_

    Drools JBoss Rules 5.0 Developer's GuideDevelop rules-based business logic using the Drools platform

    Drools5规则引擎开发教程.pdf.zip-最新-目录-完整

    **Drools5规则引擎开发教程** Drools5是一款强大的、开源的业务规则管理系统(BRMS),它基于Java平台,提供了高效的规则引擎,帮助企业快速实现业务规则的管理和执行。本教程将深入探讨Drools5的核心功能和开发...

    drools5 eclipsejar

    drools5 eclipsejar

    drools5规则引擎开发教程

    《Drools5规则引擎开发教程》是一本深入解析Drools5这一强大规则引擎的指导书籍。Drools是一个开源的、基于Java的业务规则管理系统(BRMS),它允许开发者将业务规则从应用程序中分离出来,使得业务逻辑的维护和更新...

    Drools5开发教程

    ### Drools5开发教程知识点详解 #### 一、Drools简介 Drools是一款功能强大的基于Java的开源业务规则管理系统(Business Rule Management System, BRMS)。它提供了灵活且高性能的规则引擎,使得开发者能够方便地...

    Drools6.5 部署Drools Workbench和Kie Server笔记

    5. **setenv.sh**:在Tomcat的bin目录下创建或编辑此脚本,设置环境变量,如JAVA_OPTS,以确保Drools工作正常。 6. **persistence.xml**:在Drools Workbench的WEB-INF/classes/META-INF目录下,需要修改持久化配置...

    drools5英文文档

    ### Drools 5 英文文档知识点概览 #### 一、Drools 简介与背景 Drools 是一个开源业务规则管理系统(BRMS),它支持业务逻辑的开发,尤其适用于需要灵活调整规则的场景。Drools 提供了一个强大的规则引擎,能够...

Global site tag (gtag.js) - Google Analytics