Sliding windows - Rule is being fired event when LHS is false
-------------------------------------------------------------
Key: JBRULES-3201
URL:
https://issues.jboss.org/browse/JBRULES-3201
Project: Drools
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: drools-core (fusion)
Affects Versions: 5.3.0.Beta1
Environment: Linux
Reporter: eyal rahamim
Assignee: Mark Proctor
I have a rule that accumulate fact into sliding window. When the count get to a certain
threshold the rule should be activated. After the window time is over, I expect that the
rule will not fired anymore. The counter of the fact is report as 0, but still the rule
is being executed.
drl :
package com.sample;
import com.sample.WindowLength.FactTest;
declare FactTest
@role( event )
end
rule "A500 : test"
when
// count devices per tag id
$counter : Number( intValue >= 2 ) from accumulate (
$d : FactTest() over window:time(1m), count($d))
then
System.out.println("A500: Rule is fired, count = " + $counter + "
*********");
end
scenario:
ksession.insert(new FactTest());
ksession.fireAllRules();
ksession.insert(new FactTest());
ksession.fireAllRules();
ksession.insert(new FactTest());
ksession.fireAllRules();
SessionPseudoClock clock = ksession.getSessionClock();
clock.advanceTime(1, TimeUnit.MINUTES );
ksession.fireAllRules();
Result:
A500: Rule is fired, count = 2 *********
A500: Rule is fired, count = 3 *********
A500: Rule is fired, count = 0 *********
--
This message is automatically generated by JIRA.
For more information on JIRA, see:
http://www.atlassian.com/software/jira