[rules-users] Retraction of facts based on time - any ideas please?

Mauricio Salatino salaboy at gmail.com
Sat May 2 17:21:24 EDT 2009


what version of drools are you using? because in Drools 5.0 fusion is
in charge of temporal evaluations.
Greetings

2009/4/30  <rsundaar at aretus.biz>:
>
> I have a need to "expire" some facts based on time. In other words, if an
> event occurs some time and if sufficient time has gone by, the fact should
> become inonsequential and be retracted. Here is my simple rule to do this:
>
> rule"Retract expired facts"
> dialect"mvel"
> // salience -5
> when
> e1 : Event (code == "LOGON", status == "ACTIVE")
> eval ((getCurrentTimeStamp ()- e1.getLongTimeStamp()) > 100)
> then
> System.out.println( "Retracting expired event with Timestamp: " +
> e1.longTimeStamp );
> retract (e1);
> end
>
> This does not seem to work because the "eval" method does not evaluate the
> rule every cycle. And, there is no other change to the fact (event) to force
> the rule to re-evaluate the fact. Is there a way to make "eval" in the LHS
> evaluate every cycle? Is there any other method?
>
> I would greatly appreciate any ideas.
>
> Thanks,
>
> Ravi.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>



-- 
 - Salatino Mauricio -



More information about the rules-users mailing list