A ruleflow actually just presents a set of rules that you want to evaluate (and
you use a ruleflow to specify the order). You can define yourself when to
execute those rules by invoking startProcess whenever necessary. It is
possible to have multiple (possibly unrelated) ruleflows in one rulebase, you
might start the same ruleflow multiple times or even concurrent (although we
still have to look for good examples for those advanced use cases ;)).
If you would like to "hide" the use of ruleflow-groups for your rule editors /
programmers, there are a few things you can do:
- If you don't like calling startProcess using code, you can just use rules
that define when a ruleflow should be started. For example, if you want your
ruleflow to start after calling fireAllRules(), add the following rule:
rule "MyRule"
when
then
drools.getWorkingMemory().startProcess("com.sample.ruleflow");
end
You can easily add more conditions in the when part if you like to only start
the ruleflow under certain circumstances
- It appears you would like to specify some kind of default ruleflow-group for
a package of rules, so that all rules in that package are automatically added
to that ruleflow-group (and rule editors don't have to specify it with every
rule they write). I guess we could support something like this
package com.sample;
ruleflow-group "my_group"
rule "my_rule" # this rule automatically uses ruleflow-group "my_group"
when ...
end
rule "my_second_rule" ruleflow-group "my_second_group" # this rule
overrides the default ruleflow-group
when ...
end
If this is something you would like to see in a future release, please open a
JIRA (http://jira.jboss.com/jira/browse/JBRULES) and we'll see what we can do.
- You can still combine normal rules (without ruleflow-group) with ruleflows.
Rules that have no ruleflow-group still behave like they used to do, so they
will be executed when fireAllRules() is called.
Kris
----- Original Message -----
From: Felipe Piccolini
To: Rules Users List
Sent: Wednesday, August 08, 2007 6:56 PM
Subject: Re: [rules-users] RuleFlow group as default or MAIN?
Well.... I guess I got it wrong... startProcess is not about what
ruleflow-group start the process, is about what ruleflow definition
start firing all rules... but this leads me to the point that this is useful if
you have several ruleflows (definitions and files) in the same
ruleBase... why somebody would like to have that?... to control flow? or to try
to fire a specific rule and then fire subsequent rules
in a flow?...
My problem is that I dont wanna have many ruleflows definitions for 1 ruleBase,
if I would, then I'll use sub-flows...
If I have just 1 ruleflow file, then I dont wanna do startProcess() and I still
wanna put rules without ruleflow-group defined so they all
belong to the MAIN/DEFAULT group.
Thanks.
On 08-08-2007, at 12:33, Felipe Piccolini wrote:
Is there anyway to set a default ruleflow-group or a MAIN one so I can put
rules without
ruleflow-group in the same drl as those with ruleflow-group defined and use a
.rf where I define
a flow in the way that all rules without ruleflow-group (MAIN/DEFAULT) are
fired and then a
specific ruleflow-group?
In this way could be not necessary to use
session.startProcess("my_ruleflowgroup") in java, just
call fireAllRules() and design the process creating a RuleFlowGroup called/id
as "MAIN".
Actually I can do this programatic, but I'm forced to put ruleflow-group in
every rule... if I dont wanna to
group some rules in a specific ruleflow-group I have to call them as
ruleflow-group "MAIN"... and I dont
wanna the business people to worry about flows when they write rules if they
dont need to...
Thanks.
Felipe Piccolini M.
[EMAIL PROTECTED]
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
Felipe Piccolini M.
[EMAIL PROTECTED]
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users