what version of drools are you using? because in Drools 5.0 fusion is
in charge of temporal evaluations.
Greetings
2009/4/30 <rsundaar(a)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(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users