Drools规则模板使用之Excel

本文介绍如何使用规则模板和表格数据源即时生成DRL规则,探讨规则模板的优势及其实战应用,包括kmodule.xml配置、xls文件内容示例及执行程序。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

规则模板简介

  • 规则模板是使用模板文件和表格数据源即时生成DRL规则的方法。
  • 表格数据源是指可以用表格中展示的数据,典型的介绍是数据库和Excel。
  • 如果根据存储在应用程序之外的数据来生成规则?解决方案之一就是:规则模板

规则模板的优势

  • 规则的数据和结构完全分离
  • 相同的模板可用于不同的数据集
  • 同一数据集可用于不同的模板
  • 与决策表相比,提供了极大的灵活性。

规模模板的语法结构

template header 开头
变量(比如,id)
空行(表示header结束)
template
package
import
rule规则名称
规则属性
when、then、end,使用方法@{id}
end template

示例:

template header
id
username

package com.template;

import com.secbro2.drools.demo.Person;

template "template-rules"

rule "Categorize Persons_@{row.rowNumber}"
no-loop true
when
       $p: Person(id == @{id})
then

       modify ($p){ setUsername("@{username}")};

end
end template

规则模板实战

kmodule.xml配置

<kbase packages="com.template" name="test-template">
        <ruleTemplate dtable="com/template/template.xls" template="com/template/template.drt" row="2" col="1"/>
    </kbase>

xls文件内容:

编号名称
1Tom
2Lucy

执行程序:

public class Demo15 extends BaseDemo {

	public static void main(String[] args) {

		KieServices kieServices = KieServices.Factory.get();
		KieBase kieBase = kieServices.getKieClasspathContainer().getKieBase("test-template");

		KieSession kieSession = kieBase.newKieSession();

		Person p = new Person(2,"");
		kieSession.insert(p);

		kieSession.fireAllRules();

		System.out.println(p.getUsername());

	}
}

打印结果:Lucy。

原文链接:http://www.choupangxia.com/topic/detail/98

Drools技术视频

CSDN学院:《Drools7规则引擎进阶教程》

CSDN学院:《Drools7规则引擎入门教程》

CSDN学院:《Drools7系列优惠套餐》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序新视界

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值