`
flashcloud
  • 浏览: 189160 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

有关使用Drools的Decision Tables(决策表)注意事项

阅读更多
1.使用EXCEL作为决策表时,如果单元格中有设置“12,23”形式的参数值,请注意一定将所有这些单元格的格式设置为文本格式,如果是数字格式,表面看似完全正确的表格,却无法正常运行,耽误你很多的时间去发现这个小错误。比如我就在使用Rule Templates时,用EXCEL作为数据来源,在测试过程中,始终报告“org.drools.runtime.rule.ConsequenceException: java.lang.RuntimeException: java.lang.NullPointerException”的错误,到最后,查看错误栈的源时,无意看到“Caused by: java.lang.NullPointerException
at org.drools.template.parser.ArrayCell.addValue(ArrayCell.java:44)”
中的ArrayCell时才猜测到这个可能,实在是冤哪。

2.关于drl或drt的规则文件注释问题:千万不要被它的类似java的单行或多行注释假象迷惑,如果你像这样写块注释则一定会错的:

/*规则1:
rule "discount intervalDays refundsRate1_@{row.rowNumber}"
	when
	        ...
	then
		...;
end
*/


你必须这样进行多行注释:

rule "discount intervalDays refundsRate1_@{row.rowNumber}"
	when
		/*规则1:
		...
		*/
	then
		/*
		...
		*/
end

必须在块when或then作块内的单独注释!

对单行注释你也很容易犯下这样的错误:

//xxx
rule "discount intervalDays refundsRate2_@{row.rowNumber}"
	when
		...
	then
		...
end


你必须像这样来注释:

rule "discount intervalDays refundsRate2_@{row.rowNumber}"
	when
		//xxx:
		...
	then
                //xxx
		...
end


得出结论,不管是单行注释还是多行注释,你必须在块when或then作块内的单独注释!
分享到:
评论
1 楼 flashcloud 2009-09-14  
貌似不是这个原因。好像是因为.drt文件中的
template header
discount[]
intervalDays
refundsRate[]
deduct

package xx.entity;

template "discount intervalDays refundsRate"
discount
intervalDays
refundsRate
deduct


必须要加上这段
template "discount intervalDays refundsRate"
discount
intervalDays
refundsRate
deduct


并且必须加上package,否则会报告
value rule "discount intervalDays refundsRate_@{row.rowNumber}" is not a valid column definition

不知道何原因,刚开始接触这玩意,以后弄明白了再说吧。

相关推荐

    drools决策表模版.xls

    drools决策表模版

    drools决策表的简单使用.doc

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

    drools决策表示例

    Drools是一款强大的规则引擎,基于Java平台,用于实现复杂的业务决策逻辑。它采用领域特定语言(DSL)来编写规则,使得非技术人员也能理解和维护。本示例程序"Drools决策表示例"旨在帮助开发者更好地理解和应用...

    spring-camel-drools-decision-table-example-6.1.0.CR1.zip

    标题中的"spring-camel-drools-decision-table-example-6.1.0.CR1.zip"表明这是一个关于Spring、Apache Camel和Drools决策表的开源项目示例,使用的版本是6.1.0的候选发布版1(CR1)。这个项目可能展示了如何在...

    Drools使用手册

    Drools 还支持决策表(Decision Tables)和流程图(Process Diagrams),使得非程序员也能参与到规则制定中,提高业务规则的可读性和易维护性。 **7. Drools工作流程** 1) 编写和管理规则:使用Drools Workbench或...

    drools drools drools drools drools

    标签"drools"进一步确认了讨论的主题,这是一个与Java相关的业务规则管理工具。 压缩包中的文件名称列表提供了关于项目的一些基本信息: 1. LICENSE-ASL-2.0.txt:这通常表示项目遵循Apache Software License 2.0,...

    Drools使用手册.mht

    5. **决策表(Decision Tables)**:Drools支持使用Excel或CSV格式的决策表来编写规则,这使得非技术人员也能参与规则的制定。手册会说明如何创建和使用决策表。 6. **事件处理**:Drools提供对事件驱动编程的支持...

    5.6drools基础包

    3. **Drools决策表(Decision Tables)**: Drools支持使用Excel或CSV格式的决策表来编写规则,这种方式使得非程序员也能参与到规则的制定中,提高了业务规则的可维护性和可理解性。 4. **Drools流程(Drools Flow)...

    drools5 读书笔记

    Drools提供了一种直观的决策表(Drools Decision Tables,DXT)形式来编写规则,适合于非程序员或业务人员使用。通过Excel表格,用户可以清晰地定义规则的条件和结果。 六、Drools工作流 除了规则引擎外,Drools还...

    Drools规则执行顺序

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

    Drools7 demo

    3. **决策表(Decision Tables)**: Drools7强化了对决策表的支持,使得规则可以通过Excel或CSV格式的表格进行定义和管理。这大大简化了规则的创建和维护,尤其对于业务人员而言,他们可以直接参与规则的制定过程...

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

    文档会讲解如何创建和使用决策表。 7. **流程图(Flow Diagrams)**:Drools也支持通过流程图来描述复杂的业务流程。这部分会介绍如何使用Drools工作流(Guvnor)来创建和管理流程图。 8. **集成到项目**:文档会...

    Drools规则引擎使用demo

    - **决策表(Decision Table)**:通过Excel或CSV格式的表格定义规则,适合非技术人员编辑。 - **流程引擎(jBPM)**:与Drools集成,支持复杂的业务流程管理。 - **事件处理(Complex Event Processing, CEP)**...

    drools5规则引擎开发教程

    Drools5的核心概念包括规则(Rules)、工作流(Workflows)和决策表(Decision Tables)。规则是业务逻辑的表达,由条件和动作组成,当条件满足时,执行相应的动作。工作流则处理事件序列和任务调度,而决策表是一种...

    Drools4.0官方使用手册中文

    5. **第五章:决策表和Excel集成** - Drools支持使用决策表来编写规则,这使得非程序员也能参与规则的制定。本章将展示如何利用Excel进行规则定义,并将其导入到Drools系统中。 6. **第六章:Drools Flow** - ...

    drools框架学习文档

    Drools 提供了一整套工具,包括规则编辑器(Drools Workbench)、决策表(Drools Decision Tables)、规则测试工具等,帮助用户更有效地管理业务规则。此外,Drools 还可以与其他 Java 应用程序集成,如 Spring 或 ...

    drools6学习例子

    - **决策表(Decision Table)**:Drools 6增强了决策表的支持,用户可以通过Excel或CSV格式定义规则,便于非技术人员理解和维护。 - **性能优化**:对Rete算法进行了优化,提升了规则匹配和执行的速度。 3. **...

    规则引擎Drools使用手册(中文)

    ### 规则引擎Drools使用手册:4.0版更新要点详解 #### 一、Drools 4.0新特性概览 Drools 4.0是一次重要的更新,相较于之前的Drools 3.0.x系列,在语言表达、引擎性能以及工具实用性等方面都有显著提升。以下为此次...

Global site tag (gtag.js) - Google Analytics