java - 从 java 中的 drools excel 中获取值(value)

标签 java drools drools-guvnor

我有一个 java pojo 类 TestRule,其变量 ExpectedResultCode 具有适当的 getter 和 setter。我正在使用决策表流口水

现在我想在java中访问ExpectedResultCode的这个设定值。

操作:调用 TestRule 类的 setResultCode setter 并从 Excel 设置适当的参数

TestRule.java-

public class TestRule {

    public String ExpectedResultCode;

    public String getResultCode() {
        return ExpectedResultCode;
    }

    public void setResultCode(String ExpectedResultCode) {
        this.ExpectedResultCode = ExpectedResultCode;
    }
}

流口水代码:

KieContainer kieContainer = kieServices
                        .newKieContainer(kieServices.getRepository()
                                .getDefaultReleaseId());

                kieSession = kieContainer.newKieSession();
                TestRule testrule = new TestRule();
                kieSession.insert(testrule);
                System.out.println("Output of Result Code:" + testrule.getResultCode());  --> I'm getting Null Value here.
kieSession.fireAllRules();

在决策表中,我将操作更改为testrule.setResultCode($param)

我想得到“Result1”作为输出,但我得到的是 Null 值。 enter image description here

最佳答案

您在触发规则之前显示对象:

kieSession = kieContainer.newKieSession();
// create a TestRule object: ExpectedResultCode is null
TestRule testrule = new TestRule();
// insert the TestRule object: ExpectedResultCode is still null
kieSession.insert(testrule);
// display TestRule's ExpectedResultCode, which is still null
System.out.println("Output of Result Code:" + testrule.getResultCode());
// fire the rules
kieSession.fireAllRules();

在触发规则后打印值:

// now the object TestRule's ExpectedResultCode should have changed.
System.out.println("Output of Result Code:" + testrule.getResultCode());

关于java - 从 java 中的 drools excel 中获取值(value),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29702588/

相关文章:

java - 如何在java代码中获取guvnor规则的输出结果

tomcat - 如何将 Drools 工作台(6.3.0 最终版)部署到 Tomcat 7?

java - Kie Workbench 从 session 中删除现有事实

java - 具有自身数组的对象

java - 如何通过坐标查看路线

java - 递归求和堆栈溢出

用于动态验证规则的 Java API

java - 如何使用 Java 在 KieServices 中以编程方式注册 Drools 6 自定义运算符

java - 将 POJO 代码转换为 jar 文件以便在 Drools Guvnor 中上传

java - 安卓和 Ant