cayenne-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Andrus Adamchik <>
Subject Re: Coexisting with WebObjects
Date Sat, 13 Aug 2011 10:39:07 GMT
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.


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 <> 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

View raw message