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

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

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


/*规则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


[color=darkred]得出结论,不管是单行注释还是多行注释,你必须在块when或then作块内的单独注释![/color]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值