[jboss-jira] [JBoss JIRA] Updated: (JBRULES-3201) Sliding windows - Rule is being fired even when LHS is false

eyal rahamim (JIRA) jira-events at lists.jboss.org
Mon Sep 5 02:15:26 EDT 2011


     [ https://issues.jboss.org/browse/JBRULES-3201?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

eyal rahamim updated JBRULES-3201:
----------------------------------


It may related to:
https://issues.jboss.org/browse/JBRULES-3075


> Sliding windows - Rule is being fired even 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
>              Labels: `
>         Attachments: windowLength.drl, WindowLength.java
>
>
> 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

        


More information about the jboss-jira mailing list