说我在drl中有以下drools规则
global java.lang.Boolean test;
rule "Initialize global"
salience 1000
when
then drools.workingmemory.setGlobal("test", new Boolean(true))
end
这可以按预期工作,但我也不希望每次都触发规则,所以我想添加检查是否已经初始化全局测试,如果没有,则设置它,否则,不要触发规则。你会怎么做?
我相信我也需要无循环的真实。 谢谢你的帮助
答案 0 :(得分:2)
使用不带约束的规则是初始化规则的常见模式。您拥有的规则每个会话只执行一次,因此不必担心重新执行。 关于无循环,因为规则中没有任何条件,因此无法重新激活。当您在RHS中使用modify()或update()时,使用无循环来避免递归激活。
最好的问候'