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

如何在Intellij上调试Drools规则?

朱阳晖
2023-03-14

我们有一个使用Drools规则的遗留Java/Spring项目。有什么方法可以在IntelliJ上调试规则文件,比如添加断点和单步执行规则逻辑?

共有1个答案

华宣
2023-03-14

Toni点是有效的(Idea插件不允许调试实际的Drools规则),但请注意,您可以在Drools角色调用的实际Java方法上放置断点。下面的代码片段会有所帮助(IsRuleApplication和getAttribute是实际的Java方法):

//salience allows to give rules a priority
rule "Number of adults in the family" salience 10
when
    // condition on eligible is required to avoid endless loop
    stbFact: Stb()
    eval(stbFact.getEligible() == null && stbFact.isRuleApplicable("Number of adults in the family") && stbFact.getAttribute("enh_000010", "1", "5"))
then
    System.out.println("[Number of adults in the family] Drools Rule has been satisfied (debug purposes)!!!");
    stbFact.setEligible(Boolean.TRUE);
    update( stbFact );
end
 类似资料:
  • 在为我的项目实现了一些规则之后,我做了一个“ScoreConsistencyCheck”,以确保规则得到了正确的实现。 表示实现我自己的方法,该方法将在我提前终止求解或通过配置终止后调用,输出预期分数。该方法的参数是一个实例,基于解决方案的状态计算预期分数,然后将其与来自解决方案实例的“分数”变量的分数进行比较。 当我使用时,它不会抛出异常,但是当我这样尝试时,我有时会在构建启发式或本地搜索的特定

  • 我正在编写一项规则,以根据申诉的类别确定应接受的服务类型。 我写了一个jUnit联调来使用一个新创建的java对象来测试该规则,该对象名为“申诉DTO”。 我写了一个服务类来取消规则。 jUnit测试失败。 java.lang.NullPointerException在cm.grievance.rules.规则est.calculate资格(规则est.java:13) 我用KieContaine

  • 我的要求是,触发第二条规则,然后停止进程而不触发第三条规则

  • 有人能帮我调试Drools中的决策表吗。对于我们的项目,我们正在创建一个包含1000多条规则的决策表。每当他们在规则中出现错误时,谁的电子表格不工作,也不显示准确的错误在哪里。

  • 我使用的是drools版本:5.5.0.final 我已经添加了安装的drools插件,如下链接:是否有用于Eclipse的drools插件? 请任何人帮助我调试drl文件。

  • 我正在使用drools引擎构建一个预警系统。当条件满足时,我们需要在规则(RHS)的操作上执行由Spring Framework实例化的@Service方法。 让Spring框架创建的@service实例被Drools规则的操作(RHS)使用的方法是什么? 我遵循了以下指示: 使用表单导入功能(Rule1.drl)。此解决方案不起作用,因为该类是在drools中实例化的,需要执行静态方法 关于如何