Singletons in Cayenne and problems. Can I use multiple transactions?

From: Evgeny Ryabitskiy (evgeny.ryabitski..mail.com)
Date: Tue Dec 01 2009 - 07:44:57 EST

  • Next message: Andrus Adamchik: "Re: Singletons in Cayenne and problems. Can I use multiple transactions?"

    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.



    This archive was generated by hypermail 2.0.0 : Tue Dec 01 2009 - 07:45:35 EST