li15811535157 2022-01-19 17:10
浏览 18
已结题

两个drl规则语句 规则条件一模一样 导致只会第一条加载的生效 求解

问题遇到的现象和发生背景

两条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
还是只走,默认的

我的解答思路和尝试过的方法
我想要达到的结果
  • 写回答

0条回答 默认 最新

    报告相同问题?

    问题事件

    • 系统已结题 1月27日
    • 修改了问题 1月19日
    • 修改了问题 1月19日
    • 创建了问题 1月19日

    悬赏问题

    • ¥15 用Matlab实现图中的光线追迹
    • ¥15 联想笔记本开机出现系统更新界面
    • ¥15 各位帮帮我 我不想重做系统
    • ¥30 微信小程序蓝牙数据透传
    • ¥15 加氢站氢负荷数据集来源
    • ¥15 umi接入sentry遇到问题
    • ¥15 HBuilderX打包H5网页,扫码模块无法使用
    • ¥15 Javascript跳转页面后,无法执行后面代码,如何解决?
    • ¥15 echarts绘制图表
    • ¥15 请教两个关于高德地图定位不准的技术问题