drools 规则不执行,不清楚原因求大佬解答!!!!!

  • rule "rule1"
  • salience 9999
  • when
  • $map:Map()
  • eval( Double.parseDouble($map.get("years").toString())>=18&& Double.parseDouble($map.get("years").toString())<=60)

  • then
  • System.out.println("得分100");
  • myGlobalList.add(40);
  • elsedatalist.add(1);
  • System.out.println("years 我执行了");
  • end
  • rule "rule2"
  • salience 9998
  • when
  • $map:Map()
  • eval( Double.parseDouble($map.get("years").toString())<18)

  • then
  • System.out.println("得分0");
  • myGlobalList.add(0);
  • elsedatalist.add(1);
  • System.out.println("years第二规则 我执行了");
  • end
  • rule "rule3"
  • salience 9997
  • when
  • $map:Map()
  • eval(elsedatalist.isEmpty())

  • then
  • System.out.println("得分50");
  • myGlobalList.add(20);
  • elsedatalist.clear();
  • System.out.println("years else规则我执行了");
  • end
  • rule "rule4"
  • salience 9996
  • when
  • $map:Map()
  • eval(true)

  • then
  • System.out.println(elsedatalist+"有没有值看这里");
  • elsedatalist.clear();
  • System.out.println("years清空了");
  • end
  • rule "rule17"
  • salience 9983
  • when
  • $map:Map()
  • eval( Double.parseDouble($map.get("trial_midVar1").toString())==1)

  • then
  • System.out.println("得分100");
  • myGlobalList.add(10);
  • elsedatalist.add(1);
  • System.out.println("trial_midVar1 我执行了");
  • end
  • rule "rule18"
  • salience 9982
  • when
  • $map:Map()
  • eval(elsedatalist.isEmpty())

  • then
  • System.out.println("得分50");
  • myGlobalList.add(5);
  • elsedatalist.clear();
  • System.out.println("trial_midVar1 else规则我执行了");
  • end
  • rule "rule19"
  • salience 9981
  • when
  • $map:Map()
  • eval(true)

  • then
  • elsedatalist.clear();
  • System.out.println("trial_midVar1 清空我执行了");
  • end

rule 18 规则不会被执行

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^