drools - 提取 Drools Guvnor .pkg 文件

标签 drools drools-guvnor

我是 Drools 和 Guvnor 的新手。我们已经创建了 DRL 文件并加载到 Guvnor 中,并且构建了包。它生成了一个 .pkg 文件。我们从 Guvnor 下载此 .pkg 文件并将其用于我们的不同项目。现在我试图查看 .pkg 文件中的内容,但我不知道如何打开它。

最佳答案

以下代码检查知识库,并写出加载到其中的所有包的名称以及这些包中的规则的名称。可能还有更多可以提取的信息,但我从未发现需要。您唯一无法获得的是规则的源代码。但根据你的解释,这可以在 Guvnor 中找到。

/**
 * Return a string containing the packages used to build the knowledge base.
 */
public static String knowledgeBaseDetails(KieBase kbase) {
    if (kbase == null) {
        return "Knowledge Base is null.";
    } else {
        StringBuilder sb = new StringBuilder(
                "Knowledge base built from the following packages:");
        Collection<KiePackage> packages = kbase
                .getKiePackages();
        for (KiePackage kp : packages) {
            sb.append("\n    Package: [" + kp.getName() + "]");
            for (Rule rule : kp.getRules()) {
                sb.append("\n        Rule: [" + rule.getName() + "]");
            }
        }
        return sb.toString();
    }
}

Drools 5和6几乎是一样的。一般对于早期版本的Drools,只需将Kie更改为Knowledge即可。

关于drools - 提取 Drools Guvnor .pkg 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24913065/

相关文章:

drools - 按顺序调用 guvnor 规则

java - 在 Drools 电子表格中使用 "ignore rule"回退循环遍历值数组

java - Drools 规则格式仅触发一次

java - 在 drools 中传递参数

drools - 尝试使用 guvnor 中的changeset.xml 读取规则会导致错误

mysql - 如何使用Tomcat7连接Drools和Mysql

java - 将 drools guvnor 5.5 升级到 drools 6.0

java - "StreamCorruptedException: invalid stream header"的可能原因

drools-guvnor - 如何在 OCP 环境中访问 RHDM 7.0 git 存储库?