does this hold true for 2.5 also?
Thanks, Susan G. Lee Mark Proctor <[EMAIL PROTECTED]> 04/13/2006 04:36 PM Please respond to [email protected] To [email protected] cc Subject Re: [drools-user] Application Data Thread safe in drools ruleBase.newWorkingMemory() is thread safe - as long as you are not using dynamc rules - i.e. adding new packages while doing it, which most peopel aren't. workingMemory.assertObject() is only thread safe if you used the SynchronisedWorkingMemory wrapper - by default no methods are synchronised in Drools. Mark Yuesong Wang wrote: >> No nothing is thread safe in Drools 3.0 >> > > Mark, can you please clarify this statement? Are you > referring to all Drools classes? Or you simply meant > that the objects we use wouldn't get special > protection from Drools? > > I raised the question a while back about the > thread-safety of RuleBase, and got a positive answer > from Michael. Now this sweeping statement got me > worried again.:) My scenario: > > Multiple threads accessing the same instance of > RuleBase, each creating a new WorkingMemory, asserting > their own facts, then firing. > > Can RuleBase handle that? > > Thanks, > > Yuesong > > > > --- Mark Proctor <[EMAIL PROTECTED]> wrote: > > >> No nothing is thread safe in Drools 3.0 - unless you >> use the >> SyncrhonisedWorkingMemory. then it just adds a synch >> method to each of >> thte WorkingMemory methods. With regards to >> "application data" no called >> globals - if you use that wrapper the >> workingMemory.setGloba(...) is >> synchronized but ofcourse if you change fields >> inside of a global >> already in the working memory then that is up to >> you, its not something >> Drools can control. >> >> Mark >> Susan G Lee wrote: >> >>> Hi, >>> >>> Is the application data in the drl files thread >>> >> safe? For example, if one >> >>> thread comes in the call a rule that requires to >>> >> modify the application >> >>> data. Before it finishes, another thread comes in >>> >> to modify the same >> >>> application data variable and completes the >>> >> processing. would the first >> >>> thread see the second thread's modification or it >>> >> will still see the value >> >>> that it modified to? >>> >>> >>> >>> Thanks, >>> Susan G. Lee >>> >>> >> > > > __________________________________________________ > Do You Yahoo!? > Tired of spam? Yahoo! Mail has the best spam protection around > http://mail.yahoo.com > > >
