In essence, yes. Have a look at "update" in the manual (and a read on Shadow Facts will probably be useful too).
_____ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jonathan Guéhenneux Sent: 11 April 2008 10:24 To: Rules Users List Subject: RE: [rules-users] Synch Business Object / Working Memory yes, i made a mistake. its a.setE(...) and not c.setE(...). I don't call update. If I dont call update, properties of an object are just read one time for all rules? _____ Subject: RE: [rules-users] Synch Business Object / Working Memory Date: Fri, 11 Apr 2008 09:47:43 +0100 From: [EMAIL PROTECTED] To: rules-users@lists.jboss.org I guess the example is a simplification as "c" (in RHS) has not been bound to a fact. Anyway, that aside, do you call "update" to ensure WM knows of changes to facts otherwise properties need to be "time-constant" which in your example they are not. _____ From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jonathan Guéhenneux Sent: 11 April 2008 09:34 To: Rules Users List Subject: [rules-users] Synch Business Object / Working Memory Hi, I have two rules : rule "rule 1 - 1" salience 90 ruleflow-group "rfg1" when a : A( eComputed == "false", c < 15, d >= 75) then c.setE(0); end rule "rule 1 - 2" salience 10 ruleflow-group "rfg1" when a : A( eComputed == "false", c >= 15, d >= 75) then c.setE(1); end and part of the corresponding business code : public class A { ... public String getEComputed(){ if(eComputed) return "true"; else return "false"; } ... public void setE(int e){ this.e = e; eComputed = true; } ... } so, I expected that if the first rule is activated, the second won't be. But according to my tests, the two rule can be fired on the same object A. While debugging, I noticed the getEComputed method was only called once. I suppose that I should write this : rule "rule 1 - 1" salience 90 ruleflow-group "rfg1" when a : A( eComputed == "false", c < 15, d >= 75) then c.setE(0); c.setEComputed("true); end rule "rule 1 - 2" salience 10 ruleflow-group "rfg1" when a : A( eComputed == "false", c >= 15, d >= 75) then c.setE(1); c.setEComputed("true); end But I would prefer another solution. Thanks for help. _____ Plus de 15 millions de français utilisent Windows Live Messenger ! Téléchargez <http://www.windowslive.fr/messenger/> Messenger, c'est gratuit ! _____ Plus de 15 millions de français utilisent Windows Live Messenger ! Téléchargez Messenger, <http://www.windowslive.fr/messenger/> c'est gratuit !
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users