1

为了简化我的用例。我有正在测量其值的温度点 t1-t4。用户可以为要触发的规则指定不同的条件和值。例如

t1+ ( 2* t2) LESS-THAN 100 or t3 EQUAL 5. 

所以条件和比较器是动态的,比较值和测量值也是动态的。这是 Drools 或任何其他规则引擎的候选者吗?在我看来,Drools 是一个面向模板的规则引擎,所以可以做

rule "engine_is_hot"
  no-loop
 when
 $t1 : Temp( id =="1", $v1 : value) 
 $t2 : Temp( id =="2", $v2 : value) 
   eval ( $v1>=50 || $v1 + $v2<=100)
 then
        System.out.println( $t1.getId()+""+$t2.getId());
end

因此可以动态生成规则,我的意思是,逻辑比较器、比较值和当前值是动态的。我尝试使用 PackageDescr ,它不灵活;我无法指定我想要一个 < 或 >= 逻辑比较器。

4