具有公共值的指定属性的对象触发规则。公共值未知,无法在规则文件中进行硬编码

时间:2016-07-11 16:29:56

标签: jboss drools jbpm

让我们说我们有很多具有两个属性的Person()对象" Zipcode"和"姓名" 。我想要一个规则来触发所有具有相同值的对象" Zipcode"属性,只有一次。 作为一个例子,如果有10个Person对象p1,p2 ..... p10这样5个Person对象有Zipcode = 1而其他5个Person对象有Zipcode = 2,那么我想要一个会被触发两次的规则,即对于Zipcode = 1的所有Person对象,对Zipcode = 2的所有Person对象再次使用一次。

1 个答案:

答案 0 :(得分:0)

rule "once for each zipcode"
when
   $zcs: Set() from accumulate( Person($h: zipcode), collectSet($h) )
   $zipcode: Object() from $zcs
   $ps: List() from collect( Person( zipcode == $zipcode ) )
then
   //...
end