Drools7.5.0教程(11)-drools决策表的使用

Drools7.5.0教程(11)-drools决策表的使用

drools,是由JBOSS公司开源的一套基于JAVA的规则引擎系统

什么情况下使用决策表

条件类似,可以穷举出各类情况,条件比较单一,可以一行表格内将规则描述清楚的情况下,可以采用决策表来制定规则。

怎么使用?

老的示例,一个需求,60以下不及格,60-70及格 70-90 良好 90-100 优秀 100满分,这个规则就能够满足决策表的使用条件,那我们就来试着写下。

  1. 新建FACT数据对象

    package com.sample;
    
    public class ScoreRule {
    
        private Integer score;
    
        private String desc;
    
        public Integer getScore() {
            return score;
        }
    
        public void setScore(Integer score) {
            this.score = score;
        }
    
        public String getDesc() {
            return desc;
        }
    
        public void setDesc(String desc) {
            this.desc = desc;
        }
    
    }
    
  2. 修改 kmodule.xml 文件

    <?xml version="1.0" encoding="UTF-8"?>
    <kmodule xmlns="http://jboss.org/kie/6.0.0/kmodule">
        <kbase name="dtables" packages="dtables">
            <ksession name="ksession-dtables"/>
        </kbase>
    </kmodule>
  3. 编写决策表XLS文件
    决策表

  4. 编写测试代码

    public static final void main(String[] args) {
            try {
                KieServices ks = KieServices.Factory.get();
                KieContainer kContainer = ks.getKieClasspathContainer();
                KieSession kSession = kContainer.newKieSession("ksession-dtables");
    
                //编写fact对象
                ScoreRule rule=new ScoreRule();
                rule.setScore(100);
                kSession.insert(rule);
                kSession.fireAllRules();
                System.out.println(rule.getDesc());
            } catch (Throwable t) {
                t.printStackTrace();
            }
        }
  5. 测试结果
    结果
  6. 附一张自己收集统计的关键字表格
    关键字表格

为了方便大家,我也打了示例项目,给资源,有需要的同学可以下载
示例程序点我下载

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值