[rules-users] URGENT - using lock-on-active or not

Yaniv Itzhaki iyaniv at gmail.com
Thu Sep 16 04:24:59 EDT 2010


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 <michael.anstis at gmail.com>

> 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 <iyaniv at gmail.com>
>
>> 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
>> rules-users at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100916/ebcb3b9b/attachment.html 


More information about the rules-users mailing list