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(a)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(a)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.