Следующее правило вешает слюни:
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
, он выходитно правило не срабатывает.
Что дает?