Hm, I thought Drools had specificity conflict resolution on by default. Has that changed,
or am I just getting old? :)
--- On Mon, 11/23/09, Edson Tirelli <ed.tirelli(a)gmail.com> wrote:
From: Edson Tirelli <ed.tirelli(a)gmail.com>
Subject: Re: [rules-users] Could anyone suggest alternate approach
To: "Rules Users List" <rules-users(a)lists.jboss.org>
Date: Monday, November 23, 2009, 1:44 PM
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(a)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(a)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(a)gmail.com>
wrote:
>
>> From: Lindy hagan <lindyhagan(a)gmail.com>
>> Subject: [rules-users] Could anyone suggest
alternate approach
>> To: "Rules Users List" <rules-users(a)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(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/rules-users
>>
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/rules-users
>
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--
Edson Tirelli
JBoss Drools Core Development
JBoss by Red Hat @
www.jboss.com
-----Inline Attachment Follows-----
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users