Re: How does concurrency control work in WO?
Re: How does concurrency control work in WO?
- Subject: Re: How does concurrency control work in WO?
- From: Guido Neitzer <email@hidden>
- Date: Sun, 29 Mar 2009 13:26:11 -0700
On 29. Mar. 2009, at 13:08 , Ren, Kevin wrote:
I think it's about EOF professing.
But if you have both, that's great.
First of all: What EXACTLY is your goal?
There are several ways of dealing with concurrency:
1. Switch on concurrent request handling with the property:
-DWOAllowsConcurrentRequestHandling=true
Note that this was set through JavaMonitor with the -D property
notation.
Using concurrent request handling has several implications (see EOF
part).
2. Use more instances. This might be the least painful way in regard
of locking issues, but the most painful in regard of data freshness.
3. Define your bottlenecks better.
4. Use multiple EOF connections to the database (Wonder has ways of
doing this automatically).
As soon as you have concurrent request handling you need to deal with
the following:
- Data freshness
- Caching
- Locking
- Valid data (Which write wins? Dealing with freshness again.)
You get most of this for free if you use ProjectWonder, which I highly
recommend. You need to use correct locking of your editing contexts
(see ERXEC from Wonder or MultiECLockManager, search on Google for
more information).
If you just enable concurrent request handling, EOF will still stay
single threaded for one instance as long as you don't use for example
a new object store coordinator for long running transactions.
Be aware that all this will bring you into dead locking and data
freshness hell as long as you don't really know, what you're doing OR
as long as you don't use the "make me and the gods of EOF happy
features" from Wonder.
cug
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden