[rules-users] Could anyone suggest alternate approach

Edson Tirelli ed.tirelli at gmail.com
Mon Nov 23 14:44:08 EST 2009


    Also, if each of your steps involve multiple rules, the best way to
coordinate "phased" execution is to use ruleflow.

    Edson

2009/11/23 Wolfgang Laun <wolfgang.laun at gmail.com>

> Without salience, there is no guarantee that rule 1 will fire before rule
> 2.
>
> Seeing only part of the problem makes it difficult to shell out good
> advice.
>
> -W
>
> On 11/23/09, Greg Barton <greg_barton at yahoo.com> wrote:
> > The reason rule 2 is executed even though rule 1 has fired is because
> you're
> > not notifying the engine that the CustomerDetail has been changed.  You
> need
> > the statement "update(d)" in the rule action. (And this is generally true
> > when you modify matched objects in a rule.  Only leave it out in the rare
> > circumstance when you do NOT want other rules to be triggered by a
> change.)
> >
> > Also, an alternative to your approach is using agenda-group.  Check the
> > docs.
> >
> > --- On Mon, 11/23/09, Lindy hagan <lindyhagan at gmail.com> wrote:
> >
> >> From: Lindy hagan <lindyhagan at gmail.com>
> >> Subject: [rules-users] Could anyone suggest alternate approach
> >> To: "Rules Users List" <rules-users at lists.jboss.org>
> >> Date: Monday, November 23, 2009, 11:56 AM
> >> Please ignore my previous email as I
> >> did not include subject.
> >>
> >> I have 4 drl files in my app. Loading all the 4 during
> >> application startup.
> >> If any rule is satisfied in File 1,I don't want File 2
> >> be called.Should execute File 3 and 4.
> >> Similarly If rules in File 1 is not satisfied,want to call
> >> File 2 then File 3 and 4.
> >>
> >> At present I am doing this way.Please let me know if
> >> this is ok or if there is any better solution.
> >> Set an attribute when a rule is satisfied. (attribute is
> >> not dummy,I need it in my app)
> >> Attribute is checked in each and every if it is null.
> >>
> >> Example File1.drl contains 2 rules.If first rule is
> >> satisfied, don't want to execute second rule.So setting
> >> rule with a valid number.
> >>
> >> File1.drl
> >> rule "1.Age Factor and Junior"
> >>      when
> >>           d : CustomerDetail( rule == ""
> >> && sale == 'Junior' && age in
> >> ("16","17"))
> >>      then
> >>
> >>      System.out.println("Junior and Age Satisfied
> >> ");
> >>       d.setRule("1");
> >> end
> >> rule "2.Junior only Age Factor"
> >>      when
> >>           m : CustomerDetail( rule == ""
> >> && age in ("16","17"))
> >>      then
> >>       System.out.println("Only junior Age
> >> satisfied.");
> >>
> >>       m.setRule("2");
> >> end
> >>
> >> File2.drl
> >> rule "3.Age Factor and Senior"
> >>      when
> >>           d : CustomerDetail( rule == ""
> >> && sale == 'Senior' && age in
> >> ("70","75"))
> >>      then
> >>
> >>      System.out.println("Senior and Age Satisfied
> >> ");
> >>       d.setRule("10");
> >> end
> >> rule "4.Senior only Age Factor "
> >>      when
> >>           m : CustomerDetail( rule == ""
> >> && age in ("70","75"))
> >>      then
> >>       System.out.println("Only senior Age
> >> satisfied.");
> >>
> >>       m.setRule("11");
> >> end
> >> This one works but I see these disadvantages:
> >> 1)If the rule 1 is satisfied, rule2 is still
> >> executed.Similary all the rules in File2.drl.
> >> 2)Might impact performance all the 4 rules are called all
> >> time.
> >> Any suggestions?
> >>
> >> -----Inline Attachment Follows-----
> >>
> >> _______________________________________________
> >> 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
> >
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>



-- 
 Edson Tirelli
 JBoss Drools Core Development
 JBoss by Red Hat @ www.jboss.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20091123/01a36ecc/attachment.html 


More information about the rules-users mailing list