当前位置: 首页 > 知识库问答 >
问题:

退出执行Drools决策表中的其余规则

爱亮
2023-03-14

我们在决策表中实现了一个场景,如果某个规则成功地执行了规则的操作部分,就可以退出其余规则的执行。假设我有50条规则,第5条规则表示保险索赔无效,那么我们将索赔设置为对象无效,那么就不需要执行其余的规则。如何才能做到这一点。请建议

共有1个答案

范甫
2023-03-14

你可以

  • 在该规则的RHS上,将“无效”设置为true后,收回正在评估的事实
  • 抛出异常(丑陋,丑陋),
  • 在该规则的RHS上的会话上使用fireUntilHalt和call方法运行会话-如果事实通过了所有决策表规则,则需要一个非常低的显著性规则(添加在.drl文件中)来调用halt
 类似资料:
  • 我有一个如下所示的对象: 我要做的是,根据field1和field2的值,我需要设置isActive标志和相应的消息。但是,如果field1或field2的规则被激发,我需要停止规则处理。也就是说,我只需要执行1个成功的规则。 我在一篇文章中读到,执行Ksession.FireAllRules(1)可以解决这个问题。但是fireAllRules()方法在Drools6中不可用。我也试着把一个返回;

  • 我有一个Drools决策表(见下文),其中规则2有一个条件,检查营养分数是否在某个阈值之间,并根据该条件执行操作。有一个初始规则(规则1)执行检查并执行其操作,它更新了我希望规则2在执行其条件时使用的总分。 我的期望/需要: 规则1运行,如果条件满足,则更新$model上的总体分数(通过执行其操作),然后规则2运行,并且对于它的条件,使用由规则1的操作运行更新的更新分数值。 实际发生了什么 规则1

  • 在一个场景中,我们有一组主规则。其中一条规则类似于以下规则: 这些规则将向客户提供。我们希望我们的客户能够定制规则。若决定不定制,则应适用规则。自定义可以在“何时”中添加其他条件,也可以覆盖现有条件,还可以添加或修改“何时”部分。他们还可以添加到规则的“then”部分。 像这样的东西: 我们还有一些需要类似定制的决策表。 根据规则,最初建议使用“extends”,但据我所知,“extends”的作

  • 当我尝试使用Drools引擎计算保险费时,我有一个潜在的性能/内存瓶颈。 我在我的项目中使用Drools将业务逻辑与java代码分开,我决定也将其用于溢价计算。 我是不是用错了口水 如何以更高性能的方式满足要求 详情如下: 我必须为给定的合同计算保险费。 合约配置有 productCode(来自字典的代码) 合同代码(来自字典的代码) 客户的个人资料(例如年龄、地址) 保险金额(SI) 等等 目前

  • 场景如下: 我有一个java pojo类,具有2个变量和以及适当的getter和setter。我正在使用决策表流,我想要: 条件:当类型设置为“1”时 操作:调用name类的setName setter,并从excel中设置适当的参数 现在,我想在java中访问name的这个集值。 这就是我所做的: Name.java- MainClass.java-这有口水实现!! 决策表e:: http://

  • 问题:我在决策表(电子表格)中有三个规则表,前两个规则表的规则定义了从第三个规则表中触发哪个规则。在第一个规则表中,根据某些条件,我更新了事实,该事实用于从第二个规则表中触发规则。在第二个规则表的ACTION列中,我更新了事实,我想根据这个更新的事实在第三个规则表中触发规则,但由于更新的事实,第一个表中的规则再次触发,然后第二个,循环继续。 每当我添加规则流组时,我都找不到在规则表中添加规则流组的