Drools如何获取规则执行的对象?

Drools如何获取规则执行的对象?,drools,Drools,我有以下在Drools中实现的具体要求。我不知道怎么做。如果有人知道,给我一个方向 在我的项目中,drool规则被关联到一个java类中。规则定义为类中的字符串列表。我有这些类对象的列表,我需要执行这些类的规则。我使用以下代码添加规则。假设“Test”类有规则 for (Test test : testList) { List<String> rules = test.getRules(); if (rules != n

我有以下在Drools中实现的具体要求。我不知道怎么做。如果有人知道,给我一个方向

在我的项目中,drool规则被关联到一个java类中。规则定义为类中的字符串列表。我有这些类对象的列表,我需要执行这些类的规则。我使用以下代码添加规则。假设“Test”类有规则

for (Test test : testList) {
                List<String> rules = test.getRules();
                if (rules != null) {
                    for (String rule : rules) {
                        System.out.println("Added Rule...");
                        knowledgeBuilder.add(ResourceFactory.newByteArrayResource(rule.getBytes()), ResourceType.DRL);
                    }
                }
            }
for(测试:测试列表){
List rules=test.getRules();
if(规则!=null){
for(字符串规则:规则){
System.out.println(“添加的规则…”);
添加(ResourceFactory.newByteArrayResource(rule.getBytes()),ResourceType.DRL);
}
}
}
添加事实“测试”对象列表和其他所需对象。规则正在执行,没有问题。现在我需要得到规则成功的特定“测试”对象。有人知道怎么做吗?我认为应该有一种机制将测试对象和规则结合起来,但我不知道如何做到这一点。有人能帮忙吗


提前感谢。

在规则的RHS中有一个名为
kcontext
(一个
RuleContext
的实例)的神奇变量,它支持
kcontext.getMatch().getObjects()

或者,您可能正在寻找会话接口上可用的迭代器方法,它迭代工作内存中的所有事实