zoukankan      html  css  js  c++  java
  • Drools学习教程

    Drools的规则引擎文件种类

    • drl/drls:最常见的格式,普通的决策文件
    • xls/xlsx:用于决策表

    开始编写-drl文件

    1. 先来创建一个规则文件:helloworld.drl

    
    package hello.world
       rule "Hello-World"
          when
             eval(true);
          then
            System.out.println("HelloWorld");
       end
    
    
    • package:包,和java 的包一样,与kbase中的package一一对应
    • rule: 规则,一个规则文件中可以有多个规则 但是Id不能一致
    • import: 导入,和Java的包导入是一样
    • when: 和Java中的if一样的,用于判断
    • then: 当when中条件为真则会执行then
    • end:和rule一对,表示规则结束

    2. 创建Drools配置文件:META-INF/kmodule.xml

    drools会默认从META-INF下读取对应的kmodule.xml,来进行初始化drools

    <?xml version="1.0" encoding="UTF-8"?>
    <kmodule xmlns="http://www.drools.org/xsd/kmodule">
        <kbase name="rules" packages="hello.world">
            <ksession name="helloWorld"/>
        </kbase>
    </kmodule>
    

    3. 编写Java代码执行引擎

    package cn.lonecloud.drools.chp1;
    
    import org.kie.api.KieServices;
    import org.kie.api.runtime.KieContainer;
    import org.kie.api.runtime.KieSession;
    
    public class HelloWorldMain {
        public static void main(String[] args) {
            //创建kieService
            KieServices kieServices = KieServices.Factory.get();
            //获取Kie容器
            KieContainer kieClasspathContainer = kieServices.getKieClasspathContainer();
            //从容器中获取ksession ->ksession里面的name
            KieSession helloWorld = kieClasspathContainer.newKieSession("helloWorld");
            //运行该kieSession下的所有规则
            int i = helloWorld.fireAllRules();
            System.out.println("一共运行了"+i+"条规则");
            helloWorld.dispose();
        }
    }
    
    
    1. 运行结果:
    HelloWorld
    

    总结:

    通过本次学习,从零开始学习drools,并对其基本概念进行了解

  • 相关阅读:
    微信菜单设置为小程序报错85005错误
    VS2013常用快捷键
    VS2017专业版和企业版激活密钥
    微信小程序image组件binderror使用例子(对应html、js中的onerror)
    本科无学位有哪些途径来获得硕士学位
    asp.net 微信JsSDK
    使用nginx反向代理,一个80端口下,配置多个微信项目
    对称与非对称加密;SSL;HTTPS;AJP
    java 在实例化异常的时候做的事情
    简单理解正向,反向,透明代理
  • 原文地址:https://www.cnblogs.com/lonecloud/p/12333309.html
Copyright © 2011-2022 走看看