The salience attribute will make no difference in your rules bellow, since your conditions will force the rules to execute in sequence. So, if you have no LoadBean initially (before firing rules) in working memory, rule A will fire, assert the bean and then rule B will fire. If you already have a LoanBean with loanId == 1 in your working memory, before firing rules, then only rule B will fire. If you already have a LoadBean with loadId != 1 in working memory, before firing the rules, then no rule will fire. So, in any case, salience makes no difference.

  []s
  Edson

Micheal John wrote:

*

rule

* "A Rule"
*        when* *             not* LoanBean(); *        then*

           LoanBean loan =

*new* LoanBean();

           loan.setLoanId(

"1");

           System.out.println(

"A rule");

           loan.setLoanId(

"1");            *assert*(loan);*

end

**rule* "B Rule" *    salience* 10 *    when*

          a:LoanBean(loanId ==

"1"); *       then*

     System.out.println(

"B Rule");

*end*

I have given sailence 10 for "B Rule". So it has to fire first, then only "A Rule" should fire. And also If B Rule is firing first, obviously it won't fire, since it won't match loanId == "1", which is set by A rule. But for me it's displaying as "A Rule" and then "B Rule".. how is it possible? Why salience has no effect on rule B?


------------------------------------------------------------------------
Get email for your site ---> http://www.everyone.net

------------------------------------------------------------------------

_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users


--
Edson Tirelli
Software Engineer - JBoss Rules Core Developer
Office: +55 11 3124-6000
Mobile: +55 11 9218-4151
JBoss, a division of Red Hat @ www.jboss.com


_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to