-
Bug
-
Resolution: Done
-
Critical
-
5.5.0.Final, 6.0.0.CR5
-
None
-
None
I have declared two types:
declare Motion
@role( event )
@expires( 5s )
@timestamp( eventTime )
eventTime : long
end
declare Recording
end
and following rules:
rule "StartRecording"
when
Motion()
not Recording()
then
insert(new Recording())
end
the problem is that when I put a lot of "Motions", sleep (so "Motions" become expired) and then do fireAllRules(), I got "StartRecording" executed multiple times (and not only once), event though "Recording" is inserted every time.
Another issue would be when instead of "StartRecording" rule I would have "StopRecording" rule:
rule "StopRecording"
when
$m : Motion()
$r : Recording()
then
System.err.println("Recording: " + $r);
retract($r);
end
then when there is a "Recording" fact inserted and multiple expired "Motions", the rule would be executed multiple times (when "Motions" expire) and $r would be null after the first "StopRecording" rule execution.
- is related to
-
DROOLS-1347 Explicit expiration of event not effective - regression from 6.4 to 6.5
- Closed