Drools如何获取规则执行的对象?
我有以下在Drools中实现的具体要求。我不知道怎么做。如果有人知道,给我一个方向 在我的项目中,drool规则被关联到一个java类中。规则定义为类中的字符串列表。我有这些类对象的列表,我需要执行这些类的规则。我使用以下代码添加规则。假设“Test”类有规则Drools如何获取规则执行的对象?,drools,Drools,我有以下在Drools中实现的具体要求。我不知道怎么做。如果有人知道,给我一个方向 在我的项目中,drool规则被关联到一个java类中。规则定义为类中的字符串列表。我有这些类对象的列表,我需要执行这些类的规则。我使用以下代码添加规则。假设“Test”类有规则 for (Test test : testList) { List<String> rules = test.getRules(); if (rules != n
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()
或者,您可能正在寻找会话接口上可用的迭代器方法,它迭代工作内存中的所有事实