[rules-users] inserting collection of facts
techy
techluver007 at gmail.com
Sat Nov 8 18:48:41 EST 2008
I was under impression that in stateless session, If we modify the facts, it
would not re-evaluate rule(got confused with Sequential mode :-)). But I
tried stateless session as per your advice. It did work ! Thanks a lot Greg!
In Sequential Mode, Now It does not re-evaluate any rule if any facts
modified. I'm thinking of this new feature. If any facts modified, then
re-evaluate only subsequent rules( i.e all rules with less salience than
that of current rule's) and provide some flag to enable/disable this
feature.
this feature would be very useful If I we want to control execution of the
rules with less salience by rules with higher salience in Sequential Mode.
Actually I want to control rules execution this way. Is there any hack to
achieve this now?
Thanks again!
Greg Barton wrote:
>
>
> --- On Fri, 11/7/08, techy <techluver007 at gmail.com> wrote:
>
>> Can you please advise which of two is best approach?
>>
>> 1. Having multiple rulebase and assign to child thread.
>> each child thread would a single stateful session and fire rule for
>> given facts.
>> 2. having one rulebase and create multiple stateful session
>> and assign to each child thread.
>
> That would depend on the structure of the rules, and specifically on the
> number of object join rules in your rule base. The only way to know,
> truthfully, is to try both ways with typical data sets.
>
>> 3. I would give batch of facts to child threads. once they
>> complete the firing rules. now I want to release these facts from
>> memory before I process next batch of facts using same or new child
>> threads. Do I need to do any explicit clean up in either rulebase or
>> stateful session ? or would JVM GC take care of the clean up as long
>> as I don't maintain any ref to those facts in my application?
>
> You must retract them from the working memory for the objects to be
> GC'ed. Otherwise the stateful session would maintain a reference to them.
> You could also just destroy the stateful session itself. That might
> actually be quicker. (Assuming that you're starting the stateful session
> from starting conditions during each batch run.) Although at that point
> why have a stateful session? :) It sounds to me like a stateless session
> might be more what you need, really. Have you tried it?
>
>
>
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>
--
View this message in context: http://www.nabble.com/inserting-collection-of-facts-tp20374245p20401807.html
Sent from the drools - user mailing list archive at Nabble.com.
More information about the rules-users
mailing list