嗨,我是 Drools fusion 的新手,我一直在开发一些示例规则来了解 drools fusion 的工作。我需要一些帮助来理解流口水
我的规则:
rule "Sample Rule"
when
$t:Test (num == 10) from entry-point Stream
then
System.out.println($t.str);
end
测试是一个具有str
字符串和num
整数的类。
我需要通过某种相关性触发事件,以便它不断插入测试对象并触发事件,因为num
这些对象的总和超过 100,例如:规则“您的第一条规则”
when
$t:Test ($tmp:num) from entry-point Stream //store num's value
($tmp>100) // fire if sum of num's more than 100
then
System.out.println($t.str);
end
我的代码是:
WorkingMemoryEntryPoint entryPoint1=ksession.getWorkingMemoryEntryPoint("Stream")
def eg=new Test()
eg.str="Test"
eg.num=10
EventFactHandle factHandle = (EventFactHandle)entryPoint1.insert(eg)
问题 2:我想了解fireAllRules()
. 每次将对象插入drools运行时(入口点或会话)时,是否需要通过此方法触发?
我希望你能理解我的情况。请提前帮助和感谢