[rules-users] The update function inside a rule

marc marc.strabin at gmail.com
Tue Mar 29 13:04:28 EDT 2011


Thanks, 
The JBRULES-2825 seems to be a similar issue indeed !

The timer is necessary: When change the value of SimpleClock and I only do
an update (obj), without calling fireAllRules(). That way the rule doesn't
fire...  Is-it an other problem ??

If I do a update + fireAllRulles() when I change the timer, the rule_b fire
fine every 10 seconds. (without timer in the rule..)



I think there is an open JIRA for a very similar issue:

JBRULES-2825 "rule with timer and CE not keeps firing after turning
false"

I have added these two rules as a comment.

However, the timer isn't necessary in this here case. Since the SimpleClock
fact is updated periodically, the engine will fire the rule as soon as
dateInMillisec exceeds the clock value in the Message fact.

Both rules work correctly, if written without the timer.

Actuallay, the timer doesn't have any effect (except wasting a few cycles).
If the LHS becomes true, it delays the first firing by 1s, and then the LHS
is made false by changing the Message object. This stops the timer! But
then, eventually, the LHS becomes true again, and *another timer *is
started, delays 1s, fires, and terminates.

-W



--
View this message in context: http://drools-java-rules-engine.46999.n3.nabble.com/The-update-function-inside-a-rule-tp2747484p2749346.html
Sent from the Drools - User mailing list archive at Nabble.com.



More information about the rules-users mailing list