TnX Mike 4 the quick response.
 
I'm afraid that u r right regarding the through-put ;-(
Using the "synchronized" method will probably solve my problem but will damage 
the solution.
 
If u have any other thoughts on the matter i would love 2 hear them.
 
Regards
Dotan



Subject: RE: [rules-dev] Multi threading usage best practiceDate: Mon, 14 Jul 
2008 14:24:02 +0100From: [EMAIL PROTECTED]: [email protected]



Hi,
 
Would synchronising on working memory effectively serialise the effects of 
fireAllRules()?

...
synchronised(wm) {
    wm.fireAllRules();
}
...
I don't know whether this would kill your through-put either.
 
Cheers,
 
Mike



From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of 9Lives 
9LivesSent: 14 July 2008 13:41To: [EMAIL PROTECTED]: [rules-dev] Multi 
threading usage best practice
Hello I'm using Drools 4.0.7 inside a mail relay application 2 determine the 
operations that need 2 b executed on each passing message.To do this i'm using 
the following scenario:


I have a ruleBase.newStatefulSession().

I have a fixed set of facts.

I have a fixed set of rules.

Each mailer (a thread that is handling a single message) is inserting the 
message to the working memory, calls the "fireAllRules" method and retracts the 
message.

Rules that r executed change custom attributes in the message.Problem:I noticed 
that sometimes a rule can b executed on the same message more then once. 
Assumption:My guess is that because i'm working is a multi threading 
environment but using a stateful session, what happens is:

Thread A is inserting Message A. 
Thread B is inserting Message B 
Thread A is calling fireAllRules 
Rule X is executed on messages A + B. 
Thread B is calling fireAllRules 
Rule X is executed on messages A + B 
Thread A is retracting Message A 
Thread B is retracting message BQuestion:My goal is 2 make sure a rule is 
executed only once on a single message.Any ideas on how 2 avoid the situation 
described above? TnXDotan  

Invite your mail contacts to join your friends list with Windows Live Spaces. 
It's easy! Try it! 
_________________________________________________________________
Discover the new Windows Vista
http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
_______________________________________________
rules-dev mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-dev

Reply via email to