It definitely is. 

And it goes a bit deeper than just locking. WO/EOF has singletons all over. 
Cayenne stack in addition to being inherently multi-threaded, is also 
singleton-free, so you can create multiple stacks with different parameters, 
start/stop them within an application, etc. This ties nicely into dependency 
injection concepts (Cayenne 3.1 has a small built in DI container), providing 
very flexible dynamic configuration.

I raised the question on the WO list some time back about what would it take to 
clean up singletons and integrate DI in WO/EOF. I was getting some blank 
stares. Folks are used to doing things in a very specific way and there is lots 
of inertia against changing that.

Andrus



On Aug 13, 2011, at 1:48 AM, John Huss wrote:

> That's a big advantage with cayenne then in the world of many many cores.
> 
> On Aug 12, 2011, at 12:27 AM, Andrus Adamchik <[email protected]> wrote:
> 
>> 
>> On Aug 11, 2011, at 8:32 PM, Robert Zeigler wrote:
>> 
>>>> Some specifics I'd like to know:
>>>> 1) is cayenne single threaded like EOF?
>>> 
>>> Most things happen in the "active" thread, but cayenne dispatches object 
>>> update notifications to peer contexts in a separate thread.  But the actual 
>>> commit, object modifications, etc. all happen in the same thread as the 
>>> rest of your code, so.  I'm not/wasn't an EOF user, so I don't know if 
>>> that's similar to EOF.
>> 
>> EOF had (has?) a shared lock that severely limited a throughput of a single 
>> EOF stack. Cayenne is completely free of this issue.
>> 
>> Andrus
>> 
> 

Reply via email to