流口水的规则执行挂起

时间:2019-10-01 05:15:15

标签: drools

以下规则可导致流口水:

rule "Sound the alarm in case temperature rises above threshold"
when
    $m1 : TempReading( temp >= 35 )
    Number( doubleValue >= 2 ) from accumulate(
        TempReading( temp >= 35, this after[0s, 1m] $m1 ),
            init( double total = 0; ),
            action( total += 1; ),
            reverse( total -= 1; ),
            result( total ) ) 
then
    System.out.println("Temp over max")
end

我在ObjectXXXEvents中有日志语句,所有语句都被记录下来。 看起来像这样:

Object inserted 
com.sample.DroolsTest$TempReading@6bab2585
Object inserted 
com.sample.DroolsTest$TempReading@a486d78
Object inserted 
com.sample.DroolsTest$TempReading@cdc3aae
Object inserted 
com.sample.DroolsTest$TempReading@7ef2d7a6
Object inserted 
com.sample.DroolsTest$TempReading@5dcbb60

我有matchCreated,matchCancelled,beforeMatchFired和afterMatchFired的日志语句,没有一个被记录。

如果将clockType更改为psuedo,它将退出,但规则不会触发。

有什么作用?

0 个答案:

没有答案
相关问题