What if you just use salience to control the activation sequence and remove lock-on-active?
Were you using this attribute to prevent another issue? 2010/9/16 Yaniv Itzhaki <[email protected]> > Thanks > > I have number of rules between the 2 rules, I just sent, that can get other > inputs that affect my decision to fire the second rule and update again the > case. > > for example: > - at the beginning the case value is 80 > - according to the first rule I update the case value to 40 > - ....other rules... > - according to the previous rules I need to update again the case value - > add 5 to the last value (40 + 5), but I get 80 + 5, because to working > memory was not updated with my updates (change to 40). > > Yaniv > > 2010/9/16 Michael Anstis <[email protected]> > > This is by design >> >> http://lists.jboss.org/pipermail/rules-users/2009-March/008299.html >> >> <http://lists.jboss.org/pipermail/rules-users/2009-March/008299.html>What >> are you trying to accomplish? There is no difference in the patterns you are >> matching in both rules however you expect different consequences to occur >> based upon salience. Based upon the foregoing link you could try changing >> one rule to be in a different ruleflow-group however that could have other >> consequences. >> >> 2010/9/16 Yaniv Itzhaki <[email protected]> >> >>> Hi All, >>> >>> >>> >>> I have an urgent problem which I hope someone can explain it to me and >>> how it can be solved. >>> >>> >>> >>> I created 2 rules "Update 1" and "Update 2", basically the rules are the >>> same, get all the CaseLog objects according to "Category" and "Value" and >>> update the Case, which holds a list of CaseLogs, with a new object. >>> >>> >>> >>> Note that in the update method I am updating the working memory by >>> retracting the old log and inserting the new one. >>> >>> >>> >>> Now for the problem: >>> >>> >>> The problem is that on one hand, when I insert a new log line all rules >>> without lock-on-active re-fire. On the other hand, rules with lock-on-active >>> seem to disregard the addition of the new object and fire only on the lines >>> that were present when their group was activated. >>> >>> >>> >>> Please see the rules below >>> >>> >>> >>> Thanks >>> >>> Yaniv >>> >>> * * >>> >>> *rule* "Update 1" >>> >>> *salience* 4 >>> >>> *ruleflow-group* "group1" >>> >>> *lock-on-active* >>> >>> *when* >>> >>> $case : Case() >>> >>> $myLog : CaseLog( myClass == "Category", >>> >>> myValue == "1" ) >>> >>> *then* >>> >>> System.out.println("Logic: Update 1"); >>> >>> $case.update($myLog,40.0,*null*); >>> >>> *end* >>> >>> *rule* "Update 2" >>> >>> *salience* 0 >>> >>> *ruleflow-group* "group1" >>> >>> *lock-on-active* >>> >>> *when* >>> >>> $case : Case() >>> >>> $myLog : CaseLog( myClass == "Category", >>> >>> myValue == "1", $score : myScore ) >>> >>> *then* >>> >>> System.out.println("Logic: Update 2 " + $score + 5.0); >>> >>> $case.update($myLog,$score + 5,*null*); >>> >>> *end* >>> >>> _______________________________________________ >>> rules-users mailing list >>> [email protected] >>> https://lists.jboss.org/mailman/listinfo/rules-users >>> >>> >> >> _______________________________________________ >> rules-users mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/rules-users >> >> > > _______________________________________________ > rules-users mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/rules-users > >
_______________________________________________ rules-users mailing list [email protected] https://lists.jboss.org/mailman/listinfo/rules-users
