为了简化我的用例。我有正在测量其值的温度点 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 ,它不灵活;我无法指定我想要一个 < 或 >= 逻辑比较器。