|
List Info
Thread: Re: Ruleflow-group attribute causing rule to not fire
|
|
| Re: Ruleflow-group attribute causing
rule to not fire |

|
2008-05-19 14:25:30 |
|
From: "Roger Tanuatmadja" < rogerst gmail.com">rogerst gmail.com> To: rules-users lists.jboss.org">rules-users lists.jboss.org
Date: Mon, 19 May 2008 11:55:19 -0700 Subject: Ruleflow-group attribute causing rule to not fire
Hi,
I am new to both rules engine and Drools. I am currently evaluating Drools 4.0.7 for use in our new project.
Basically I have been writing a bunch of individual rules and things have been fine, the rules that I expected to fire were fired, etc, etc. I then proceeded to investigate rule flows. I started innocently enough i.e. adding the ruleflow-group attribute to some of my rules. I also defined a ruleflow mapping (.rfm).
I then reran my unit-tests (WITHOUT reading the rules in as rule flows) and some of my rules were no longer firing!!. I added an Agenda Listener to my code and
1. without the ruleflow-group attribute, activations were created, and fired.
2. with the ruleflow-group attribute, activations were created but not fired.
Using the debugger yielded the same logical outcomes i.e. without the ruleflow-group attribute, my breakpoints were hit, but with the attribute specified, none of my breakpoints were hit.
My question is: Is this behavior expected? And why? Especially since some other rules (with the attribute specified) continued to work. I've read the documentations as much as possible, but I am really new to this field so I might not even know what questions to ask either.
Any help would be greatly appreciated.
Thanks,
Roger
|
| Re: Re: Ruleflow-group attribute
causing rule to not fire |
  Belgium |
2008-05-21 07:03:35 |
|
|
This is expected behaviour, let me try to
explain.
By adding the ruleflow-group attribute to your
rules, you are stating that these rule should not be executed as normal, but
that the order in which these rules should be executed is specified by a
ruleflow. Activations will be created for rules that are part of
a ruleflow-group, but they will only be executed if the ruleflow-group is
activated. To make sure that rules with a ruleflow-group are executed, you
must:
1. Create a ruleflow that specifies when the
rules should be activated (using ruleset nodes)
AND
2. Start the ruleflow whenever
appropriate. My guess is that you are not starting the ruleflow, so
the corresponding ruleflow-groups are never activated. You can either
start a ruleflow manually in your code
(workingMemory.startProcess("id_of_your_ruleflow"), for example right before
calling workingMemory.fireAllRules()), or using a rule (probably with a high
salience) with as consequence
drools.getWorkingMemory().startProcess("id_of_your_ruleflow").
It is also normal that all other rules that are not
tagged with a ruleflow-group attribute just execute as before, even in the
presence of ruleflows, both can be used side by side.
Kris
----- Original Message -----
Sent: Monday, May 19, 2008 9:25 PM
Subject: [rules-users] Re: Ruleflow-group
attribute causing rule to not fire
From: "Roger
Tanuatmadja" <gmail.com">rogerst gmail.com> To: lists.jboss.org">rules-users lists.jboss.org Date: Mon,
19 May 2008 11:55:19 -0700 Subject: Ruleflow-group attribute causing
rule to not fire
Hi,
I am new to both rules engine and Drools. I am currently evaluating
Drools 4.0.7 for use in our new project.
Basically I have been writing a bunch of individual rules and things
have been fine, the rules that I expected to fire were fired, etc, etc. I
then proceeded to investigate rule flows. I started innocently enough i.e.
adding the ruleflow-group attribute to some of my rules. I also defined a
ruleflow mapping (.rfm).
I then reran my unit-tests (WITHOUT reading the rules in as rule flows)
and some of my rules were no longer firing!!. I added an Agenda
Listener to my code and
1. without the ruleflow-group attribute, activations were created, and
fired.
2. with the ruleflow-group attribute, activations were created but not
fired.
Using the debugger yielded the same logical outcomes i.e. without the
ruleflow-group attribute, my breakpoints were hit, but with the attribute
specified, none of my breakpoints were hit.
My question is: Is this behavior expected? And why? Especially since
some other rules (with the attribute specified) continued to work. I've
read the documentations as much as possible, but I am really new to this
field so I might not even know what questions to ask either.
Any help would be greatly appreciated.
Thanks,
Roger
_______________________________________________ rules-users mailing
list rules-users lists.jboss.org https://lists.jboss.org/mailman/listinfo/rules-users
|
[1-2]
|
|
|
about | contact Other archives ( Real Estate discussion Medical topics )
|