You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by "Andrus Adamchik (JIRA)" <ji...@apache.org> on 2011/02/23 15:04:40 UTC

[jira] Updated: (CAY-1322) Multiple Transactions: Migrate from Singleton pattern

     [ https://issues.apache.org/jira/browse/CAY-1322?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrus Adamchik updated CAY-1322:
---------------------------------

    Fix Version/s:     (was: 3.1M1)
                   3.1 (final)

> Multiple Transactions: Migrate from Singleton pattern
> -----------------------------------------------------
>
>                 Key: CAY-1322
>                 URL: https://issues.apache.org/jira/browse/CAY-1322
>             Project: Cayenne
>          Issue Type: New Feature
>          Components: Core Library
>            Reporter: Evgeny Ryabitskiy
>             Fix For: 3.1 (final)
>
>
> Duplication from Dev-list: 
> 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.

-- 
This message is automatically generated by JIRA.
-
For more information on JIRA, see: http://www.atlassian.com/software/jira