繁体   English   中英

比较Drools 6 when子句中集合中的不同项

[英]Comparing distinct items from collection in drools 6 when clause

我已经在互联网上进行搜索,但是找不到解决我们目前面临的问题的解决方案(6.2.0)。

假设我有这样一条规则:

when
    $list: ProductList()
    $product: Product() from $list
    $product2: Product(this != product) from $list
then
    // do something
end

如果$ list包含2个产品A和B,则此规则将针对以下组合触发:

  1. AB
  2. BA

由于某种原因,我无法使规则仅触发一次(仅AB或BA)

有人知道是否有一种标准的方法来达到预期的结果吗?

提前谢谢了!

问候,

您需要具有可比较且唯一的Product属性。 我假设一个产品编号:

rule comp2prod
when
  $list: ProductList()
  $product: Product( $pn: productNumber ) from $list
  $product2: Product( productNumber > $pn ) from $list
then
  // do something
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM