我需要我的 WorkingMemory 了解在 DRL 中创建的事实,如下所示:
rule "Your First Rule"
when
$testRule : TestRule(count >= 100)
then
System.out.println("100 PACKETS");
end
有没有办法让 WorkingMemory 了解 TestRule 事实,然后进行更新?我的目标是让规则知道何时收到 100 个数据包。
最佳答案
通常我会创建一些东西作为规则的一部分,并将其用作标志。如果你不需要创建任何东西,那么你可以创建一个标志,例如
rule "Your First Rule"
when
$testRule : TestRule(count >= 100)
not Flag(id="packets")
then
System.out.println("100 PACKETS");
insert( new Flag("packets") )
update( $testRule )
end
我不认为这段代码是正确的,但我认为你可以明白这个想法......你需要创建一个名为 Flag 的类。需要更新来告诉 drools 必须更新 rete 树。
关于java - JBoss Drools 从 DRL 插入事实,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5003426/