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