You understand the problem well enough.
I have never used agenda-group option, and am very fuzzy on how to implement it. I know I
should look into it, and I should understand it better, to have a better grasp of all the
options available to me. The drools expert documentation just isn't too clear on this
feature, and I haven't had the time to explore it in code yet.
Thanks for your input, it's always good to hear other's opinions.
Armand
-----Original Message-----
From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On
Behalf Of Vincent LEGENDRE
Sent: Monday, April 23, 2012 10:52 AM
To: Rules Users List
Subject: Re: [rules-users] Rules and Ruleflow GroupS
Tell me if I understand well :
- you have a set of "lookup" rules that are independent of initial data in the
WM
- you have another set of "lookup" rules that depends of data currently in the
WM, that should trigger in the middle of data processing. In this second group, some
business rules can update a fact that should immediately lead to insertion of other object
via the lookup rules ?
Clearly, the second is the problematic one if it must be immediate ... If you can delay
the insertion, I can't see why you can't place them in a separate ruleflow group
(and the ruleflow-group identifier is reused in multiple main ruleflows ...)
May be you can use agenda groups here. All the 'same function' lookup rules could
be placed in the same agenda-group, with auto-focus to true. And you then have to add some
control rules that give focus to you data-lookup group when you need. This is one way I
know that allow to trigger a group of rules in the middle of other rules execution. The
other way is control facts ... In summary, you have the choice between adding control fact
in each condition, or set an agenda-group and auto-focus on each rule + a main control
rule. I prefer the agenda-group option because once the control rule done, you can add
rules to the group by declaring its group whether that adding a condition (which should be
reserved to business logic in a ideal system).
----- Mail original -----
De: "Armand Welsh" <AWelsh(a)statestreet.com>
À: "Rules Users List" <rules-users(a)lists.jboss.org>
Envoyé: Lundi 23 Avril 2012 19:03:17
Objet: Re: [rules-users] Rules and Ruleflow GroupS
Thanks for the feedback
Yeah.. my rules deal with data transformation. We convert vendor feed data to internal
data for making trade decisions. So we have large data sets that need to be evaluated.
So instead of inserting all data into working memory from our lookup tables in our DB, I
have lookup rules that get just the data needed for the datasets. These rules insert just
those lookup facts that are needed for the rules. Since many rules can share a common
lookup criteria, I don't lookup use the from condition on each rule, instead I use the
from condition on the lookup rule, that extracts the facts I need and inserts just those
facts into working memory. The reason for this, is that inserting into working memory is
a costly process. So inserting 100 facts is less intensive than inserting 10,000 facts,
when I only need 100 for that specific set of data.
Most lookups can happen before any processing, because the bound conditions are set before
execution, and they don't change. However, I have a small set of lookups that occur
more than once, because they are based on fields that are generated by other rules, and
each time the value changes, I need to the lookup to be reactivated, but I could benefit
from having my lookup rules in their own rule flow group, and a small subset of those also
in the data manipulation rule flow group, so that they get preloaded before any data
processing decisions are made, and then they re-fire during data processing the dependent
facts change.
I guess I will just have to use a processing control fact to prevent firing my lookup
rules until I know the lookup has either completed, or failed to find lookup values.
Regards,
Armand
-----Original Message-----
From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On
Behalf Of Vincent LEGENDRE
Sent: Monday, April 23, 2012 9:26 AM
To: Rules Users List
Subject: Re: [rules-users] Rules and Ruleflow GroupS
No you can't ... or I really don't know how ..
You can duplicate a ruleflow group in a ruleflow (if your rule is only dependant of others
rules in the same "group"), but if a rule is a subpart of multiple groups ...
well ... I think you can't avoid to write your own agenda filter, or try to use agenda
groups.
----- Mail original -----
De: "Armand Welsh" <AWelsh(a)statestreet.com>
À: "Rules Users List" <rules-users(a)lists.jboss.org>
Envoyé: Lundi 23 Avril 2012 17:59:24
Objet: [rules-users] Rules and Ruleflow GroupS
A while back, I was looking to use Ruleflow-Groups and a process flow. Due to some issues
in the code that affected the use of the process flow, I was unable to use them. I
believe those issues have been worked out, and now I am looking into using them again.
One thing I am not clear on, is if I can have a single rule participate in more than one
ruleflow group?
Regards,
Armand
_______________________________________________
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
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users