计算工作记忆中的事实数量

时间:2014-11-07 10:14:19

标签: drools

我需要计算满足工作记忆中某个约束的事实数量,然后在事实数量超过某个阈值时触发规则。我尝试了下面的内容,但它抱怨输入不匹配' $ cnt'在规则" Rule1"

rule Rule1
when
    accumulate ( AFact ( code == "XXXX" ); $cnt : count(1) ; $cnt > 1 )
then
    // fire
end

任何有助于获得正确语法的帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:0)

累积的条件元素(正在使用)仅在Drools 5.4及更高版本中可用 - 您必须使用5.3.0或更早版本。

您可以使用旧格式的累积,可以作为from

的延续
Number( intValue > 1 )
   from accumulate( AFact ( code == "XXXX" ), count(1) )