Java 全局初始化的Drools规则测试

Java 全局初始化的Drools规则测试,java,global,drools,Java,Global,Drools,假设我在drl中有以下流口水规则 global java.lang.Boolean test; rule "Initialize global" salience 1000 when then drools.workingmemory.setGlobal("test", new Boolean(true)) end 这正如预期的那样工作,但我也不希望每次都触发规则,因此我希望添加检查全局测试是否已初始化,如果未初始化,则设置它,否则,不要触发规则。你会怎么做 我相信我也不需要这个循环。 感谢您

假设我在drl中有以下流口水规则

global java.lang.Boolean test;
rule "Initialize global"
salience 1000
when
then drools.workingmemory.setGlobal("test", new Boolean(true))
end
这正如预期的那样工作,但我也不希望每次都触发规则,因此我希望添加检查全局测试是否已初始化,如果未初始化,则设置它,否则,不要触发规则。你会怎么做

我相信我也不需要这个循环。
感谢您的帮助

使用无约束规则是初始化规则的常见模式。您拥有的规则在每个会话中只执行一次,因此不必担心重新执行。 关于无循环,因为您的规则中没有任何条件,所以无法重新激活它。在RHS中使用modify()或update()时,不使用循环来避免递归激活

致意'