【问题标题】:How to debug Drools File (.drl) in eclipse IDE如何在 Eclipse IDE 中调试 Drools 文件 (.drl)
【发布时间】:2013-12-08 14:29:16
【问题描述】:

我使用的是drools版本:5.5.0.Final

我在下面的链接中添加了安装的 drools 插件: Is there any Drools plugin for Eclipse?

并获得漂亮的彩色 DRL 文件编辑器和流口水透视图。

但我想安装 drools 插件的原因是能够调试和检查 drl 文件中不起作用的每个规则。

基本上下面的步骤在这里不起作用:http://docs.jboss.org/drools/release/5.2.0.Final/drools-expert-docs/html/ch08.html#d0e8236

我将调试点放在文件中并在调试模式下运行应用程序,但它并没有停止。

谁能帮我调试drl文件。

【问题讨论】:

  • 我自己也无法在 DRL 中获得断点。我通常的做法是,如果 RHS 包含的代码足够复杂以至于需要调试,那么我将其编写在 Java 类中的静态方法中并调用它。虽然不是一个很好的解决方案。 :-/
  • 如果我正在编写可能需要在 java 代码中调试的复杂规则,那么我就是在混合使用 java 和 drools 进行验证。教程/博客说可以调试。我仍在寻求帮助
  • 不要害怕混合使用 Java 和 Drools。只有 LHS 通常最好避免调用 Java 类中的方法。您的规则的 RHS 只是一段 Java 代码。该代码是在 Java 类文件中还是在 DRL 文件中并不重要。但是,由于对 Java 类有更好的 IDE 支持,通过将其放入 Java 类中,您将获得更可靠、可单元测试的代码。您还将获得工作调试器。因此,如果您的 RHS 包含多于几行代码,最好将其放在 Java 类中。

标签: java eclipse debugging ide drools


【解决方案1】:

另一种选择是创建一个带有调试方法的实用程序类:

public class DebugUtils {
    public static boolean debugValue(Object value) {
        return true;
    }
}

然后从传递您的值的任何规则调用此方法,并在此方法中放置一个断点。这样你就可以调试你的规则了。

【讨论】:

    【解决方案2】:

    在 drl 文件中将方言类型声明为方言“mvel”。调试控件将移动到您在相应的 drl 文件中指定的断点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多