【问题标题】:Drools rule test for global initialization全局初始化的 Drools 规则测试
【发布时间】:2012-12-06 10:48:34
【问题描述】:

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

global java.lang.Boolean test;
rule "Initialize global"
salience 1000
when
then drools.workingmemory.setGlobal("test", new Boolean(true))
end

这按预期工作,但我也不希望每次都触发规则,所以我想添加检查全局测试是否已初始化,如果没有,则设置它,否则,不要触发规则。你会怎么做呢?

我相信我也需要 no-loop true 。 感谢您的帮助

【问题讨论】:

    标签: java global drools


    【解决方案1】:

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

    最好的问候'

    【讨论】:

      猜你喜欢
      • 2017-04-16
      • 2010-11-28
      • 2014-03-11
      • 1970-01-01
      • 1970-01-01
      • 2020-02-03
      • 2021-10-08
      • 1970-01-01
      • 2010-11-15
      相关资源
      最近更新 更多