这是我的规则:
rule "Your First Rule"
when
$testRule : TestRule(count >= 100)
then
System.out.println("100 PACKETS!");
end
这就是我创建 RuleBase 和 WorkingMemory 的方式:
public void invokeRules(){
RuleBase ruleBase = readRule(); \\creates ruleBase from DRL package
workingMemory = ruleBase.newStatefulSession();
testRule = new TestRule();
factHandle = workingMemory.insert(testRule);
workingMemory.fireAllRules();
}
我有一个更新部分:
workingMemory.update(factHandle, testRule);
我现在在 WorkingMemory 中获得了 1 个 TestRule 事实,并且该规则正在创建另一个 TestRule 实例。我知道我正在实例化两个 TestRule 事实,但只有 WorkingMemory 中的一个做出反应。我哪里错了?!
(束手无策)