问题遇到的现象和发生背景
两条drools规则语句 是由if 条件的 添加了关键字break ,条件处规则参数相同 导致我按照规则名称指定时候 第一个可以正常,第二条 只会输出默认的then
问题相关代码,请勿粘贴截图
rule "rule1"
when
$map:Map($age:this['age']!= null)
if((Integer)$age>3) break[ifdo]
then
$map.put("error", "未触发规则,请查看传参");
then[ifdo]
$map.put("SUCCESS",6);
end
rule "rule2"
when
$map:Map($age:this['age']!= null)
if((Integer)$age>3) break[ifdo]
then
$map.put("error", "未触发规则,请查看传参");
then[ifdo]
$map.put("SUCCESS",9);
end
运行结果及报错内容
运行之后第一个正常 第二条语句 哪怕传参 age 大于 8
还是只走,默认的