[jboss-jira] [JBoss JIRA] (DROOLS-311) Odd rules execution for expired events
Mario Fusco (JIRA)
issues at jboss.org
Wed Sep 23 05:33:00 EDT 2015
[ https://issues.jboss.org/browse/DROOLS-311?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mario Fusco reassigned DROOLS-311:
----------------------------------
Assignee: Mario Fusco (was: Mark Proctor)
> Odd rules execution for expired events
> --------------------------------------
>
> Key: DROOLS-311
> URL: https://issues.jboss.org/browse/DROOLS-311
> Project: Drools
> Issue Type: Bug
> Affects Versions: 5.5.0.Final, 6.0.0.CR5
> Environment: Windows Vista 64, JRE6 (x86)
> Reporter: Karol Sobczak
> Assignee: Mario Fusco
> Priority: Critical
> Attachments: expiredrules.zip
>
>
> 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.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)
More information about the jboss-jira
mailing list