mehdi, the rules engine has to know that your fact changed, you can use PropertyChangeSupport take a look at the documentation 2.5.4.4. Update 2.5.4.7. Property Change Listener 6.5.3. The Right Hand Side (then) regards ekke Mehdi-6 wrote:hi, I have a class Customer.java with class variable "allTradeAmounts" and I have two rules as follows: rule "rule 1" when $c : Customer(); then $c.setAllTradeAmounts($c.getAllTradeAmounts().add(1000)); System.out.println("after modify: "+$c.getAllTradeAmounts()); end rule "rule 2" when $c : Customer(allTradeAmounts < 200 ); then System.out.println("AllTradeAmounts < 200 "); end The rule 1 works fine and changes the value of this variable. My question is, although the rule 1 has changed the class variable and I can see the result of changed variable EACH TIME, when i insert a Customer object, why is the second rule TRUE? I have changed the value of AllTradeAmounts and I can print it in RHS and it is more than 200, but in LHS if I check with "allTradeAmounts < 200 " ,it is true. It must be FALSE and does not fire the rule. can someone help me? what do I do wrong in LHS. In the same rule (rule 2) if I print the allTradeAmounts it is more than 200. sorry it is a simple question, but I m new to drools. Thanks and regards --------------------------------- Be a better sports nut! Let your teams follow you with Yahoo Mobile. Try it now. _______________________________________________ rules-users mailing list rules-users@lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users