java - 如何从 drools session 中检索事实?

标签 java drools

假设我有一个类如下:

public class A {
    private int id1;  
    private int id2;  
    HashMap<String, String> attrMap;  
}  


StatefulKnowledgeSession session = knowledgeBase.newStatefulKnowledgeSession(); 
session.insert(a1);
session.insert(a2);
session.insert(a3);
session.insert(a4);  

现在如何从具有 id1 = 2 的 session 中检索事实。
我知道我可以使用 getFactHandle(Object) 检索事实,但在这里我想使用一个成员值检索事实。

我怎样才能实现这个目标?

最佳答案

如果您想从 ksession 中获取这些事实,那么您可能需要使用查询。 欲了解更多信息,请看我在这里的回答:Retrieving facts of a specific type from working memory

即使我在另一篇文章中的答案是关于提取特定类别的事实,也可以轻松修改它来执行您正在寻找的操作。

关于java - 如何从 drools session 中检索事实?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24546853/

相关文章:

java 8 Collector<String, A, R> 不是函数式接口(interface),谁能告诉我为什么?

java - 空格作为 printf 中的分组分隔符

java - 我对 HashMap 的理解正确吗?

eclipse - 在 Eclipse 中安装 Drools Planner

java - Struts 流口水

java - 在 Eclipse 中显示值 1.8 不是有效的语言级别

java - 当项目导出到 JAR 时,newKieSession() 返回 null

java - 打开.jar时为"A java exception has occurred"

java - 尝试调用 JPA 函数时出现语法错误

drools - 为什么我们在 '==' 比较中指定变量的顺序很重要?