我在 guvnor 上上传了一个患者模型 jar,该类具有名称和结果字段。
我在 guvnor 中创建了一个规则,以便在名称具有特定值时将结果插入为“通过”: 规则代码如下:
rule "IsJohn"
dialect "mvel"
when
Patient( name == "John")
then
Patient fact0 = new Patient();
fact0.setResultString( "Pass" );
fact0.setName( "Patient: John" );
insert( fact0 );
end
下面是调用此规则的 java 代码。
KnowledgeBase knowledgeBase = readKnowledgeBase();
StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession();
Patient patient = new Patient();
patient.setName("John");
System.out.println("patient.name "+patient.getName());
session.insert(patient);
session.fireAllRules();
System.out.println("************patient.name "+patient.getName());
System.out.println("patient result string is "+patient.getResultString());
但是当我运行这段代码时,我得到相同的名称和结果字符串为空。那么我在这里犯了什么错误。
基本上我只需要一种方法,通过它我可以调用一个简单的规则并使用 java 显示结果。有没有例子证明它。