`

Drools6.4简单应用之决策表

阅读更多

1.rule.xls

2.DecisionTableTest.java

 

/**
 * caicongyang.com Inc.
 * Copyright (c) 2004-2016 All Rights Reserved.
 */
package com.caicongyang.drools.drools;

import java.io.File;

import org.drools.decisiontable.SpreadsheetCompiler;
import org.kie.api.KieServices;
import org.kie.api.runtime.KieContainer;
import org.kie.api.runtime.KieSession;
import org.kie.internal.io.ResourceFactory;

import u51.test.person.Person;

/**
 * @author caicongyang1
 * @version id: tableTest, v 0.1 16/11/28 下午8:16 caicongyang1 Exp $$
 */
public class DecisionTableTest {

    /**
     * 默认规则文件所在路径
     */
    private static final String RULES_PATH = "tables";

    public static void main(String[] args) {
        //把excel翻译成drl文件
        SpreadsheetCompiler compiler = new SpreadsheetCompiler();
        String drl = compiler.compile(ResourceFactory.newClassPathResource(RULES_PATH + File.separator + "rule.xls", "UTF-8"), "rule-table");
        System.out.println(drl);
        Long start = System.currentTimeMillis();
        //执行决策表
        try {
            // load up the knowledge base
            KieServices ks = KieServices.Factory.get();
            KieContainer kContainer = ks.getKieClasspathContainer();
            KieSession kSession = kContainer.newKieSession("tablesKiession");
            Person person = new Person();
            person.setName("Tony");
            kSession.insert(person);
            kSession.fireAllRules();
            kSession.dispose();
        } catch (Throwable t) {
            t.printStackTrace();
        }
        System.out.println("COST:"+String.valueOf(System.currentTimeMillis()-start));

    }


}


结果:

 

 

 

 

分享到:
评论

相关推荐

    drools6.4+spring集成

    drools6.4+spring集成是一项将业务规则引擎Drools与Spring框架相结合的技术实践,旨在利用Drools的强大规则处理能力,结合Spring的灵活应用管理,构建高效、可维护的业务系统。在这个项目实例中,我们将深入探讨如何...

    kie drools6.4 web规则引擎tomcat7配置

    kie drools 6.4是Red Hat公司的业务规则管理系统(BRMS)的一部分,它提供了一个强大的规则引擎,用于处理和执行基于规则的应用程序。在这个配置过程中,我们将关注如何在Windows 10环境下设置kie drools的web应用,...

    drools决策表模版.xls

    drools决策表模版

    基于Spring + Drools6.4规则引擎代码实例.

    通过上述步骤,我们可以看到Spring + Drools 6.4规则引擎的集成与应用是非常直观和灵活的。这种方式不仅能够极大地提高代码的可读性和可维护性,还能够根据业务需求的变化快速调整规则,提高了整个系统的灵活性和...

    drools决策表的简单使用.doc

    Drools 决策表的简单使用 Drools 决策表是 Drools 规则引擎中的一种规则表示方式,它允许业务人员使用 Excel 文件来编写业务规则,而不需要学习编写 DRL 文件。下面是 Drools 决策表的简单使用: 一、背景 在之前...

    drools决策表示例

    本示例程序"Drools决策表示例"旨在帮助开发者更好地理解和应用Drools。 1. **Drools基本概念** - **规则**:Drools中的核心是规则,它定义了当某些条件满足时,应执行的动作。规则由"IF-THEN"结构组成,IF部分称为...

    Drools规则执行顺序

    Drools 是一个开源的Java决策管理平台,它允许开发者使用规则语言来编写业务逻辑,这些规则可以按特定顺序执行,以处理复杂的业务场景。 在 Drools 中,规则的执行顺序主要由以下因素决定: 1. **规则优先级**:...

    drools drools drools drools drools

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

    规则引擎Drools在J2EE项目开发中的应用

    4. **决策表**:Drools支持使用Excel或CSV格式的决策表来定义规则,这种方式对非技术人员更加友好,便于规则的维护和审查。 5. **融合JBOSS BRMS**:Drools是JBoss Business Automation的一部分,与BRMS(Business ...

    Drools开发最全中文版技术指南

    Drools是一个基于Java的开源规则引擎,它允许开发者将业务决策逻辑从业务代码中分离出来,并以规则的形式进行管理。它源于一个叫做Codehaus的开源项目,后来被纳入JBoss门下,并更名为JBossRules。Drools在JBoss应用...

    Drools应用.doc

    此外,Drools支持工作流和决策模型,可以与其他技术如DMN(决策模型和表示法)结合,实现更复杂的业务流程和决策服务。通过深入理解和熟练掌握Drools,开发人员能够构建出灵活、可扩展的业务规则管理系统,应对不断...

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

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

    drools7.25中文文档+drools技术指南.zip

    6. **决策表(Decision Table)**:Drools支持使用Excel或CSV格式的决策表来定义规则,这使得非技术人员也能参与规则的制定。文档会讲解如何创建和使用决策表。 7. **流程图(Flow Diagrams)**:Drools也支持通过...

    droolsdroolsdrools

    1. 决策树与决策表:Drools支持构建复杂的决策树和决策表,使得业务逻辑清晰明了。 2. 事件驱动:Drools可以处理实时事件,如股票价格变动、传感器数据等,进行实时决策。 3. 与Spring集成:Drools可以方便地与...

    Drools应用安装部署操作文档

    《Drools应用安装部署操作文档》 一、前言 本操作文档旨在为用户提供详尽的Drools应用安装和部署指南,确保用户能够高效、顺利地完成整个过程。编写此文档的主要目的是减少安装过程中的疑惑,提高安装效率,避免因...

    Drools-中文技术指南.pdf

    Drools,原名为JBoss Rules,是一款强大的开源业务规则引擎,旨在让企业策略的访问、调整和管理变得更加简单高效。它基于Charles Forgy的Rete算法,提供了面向对象(OO)的接口,使商业规则的表达更加自然。Drools的...

    5.6drools基础包

    4. **Drools决策树和决策表编辑器**: 这些工具允许用户通过图形化界面创建和编辑决策树和决策表,简化了规则的创建过程。 学习Drools 5.6版本,你需要理解规则引擎的基本概念,掌握如何编写和管理规则,以及如何将...

    Java规则引擎---Drools的介绍及应用

    ### Java规则引擎——Drools的深度解析与应用探索 #### 一、规则引擎与基于规则的...随着技术的不断进步和应用场景的扩展,Drools及其同类产品有望在决策自动化领域发挥更加重要的作用,推动整个行业的创新和发展。

Global site tag (gtag.js) - Google Analytics