cayenne-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Evgeny Ryabitskiy <evgeny.ryabits...@gmail.com>
Subject Singletons in Cayenne and problems. Can I use multiple transactions?
Date Tue, 01 Dec 2009 12:44:57 GMT
Hello 2 everyone!

Today I one more time thinking about singleton pattern and it's hard
usssage in Cayenne.

So.. I have several modules, each has own DomainConfig file and
connection to it's DataBase. Sometimes there can be used different DB
servers and even different DB types (usually it's Oracle and MS SQL,
sometimes Sybase).

Singletons:
1) Configuration.getSharedConfiguration()
This problem is solved:
DefaultConfiguration conf = new DefaultConfiguration("module1-cayenne.xml");
conf .initialize;
conf.getDomain();
//spend some time to find solution... everywhere examples with
SharedConfiguration

2)DataContext.getThreadLocal()
Solved by own ThreadLocal for each module. (modules can work in one thread)
//also spend some time

3)Transaction.getThreadTransaction()
this is killing one!!!
using of own ThreadLocal doesn't help.
It's hard-coded in performing Query to use this singleton
Transaction.getThreadTransaction()
And that is really huge problem for me.

So me suggestion is to move this ThreadLocal to DataDomain. Still can
use singleton API for standalone applications.
Also we can move DataContext to DataDomain.

Evgeny.

Mime
View raw message