Re: TransactionDelegate and willCommit

From: Andrus Adamchik (andru..bjectstyle.org)
Date: Mon Sep 18 2006 - 01:04:27 EDT

  • Next message: Michael Gentry: "Re: Re: Site structure redesign"

    > Under what circumstances can there be a transaction which invokes
    > TransactionDelegate but no context at that time

    DataContext is not bound to the current thread by default. User has
    to enable this behavior, e.g. by using the filter:

    http://cwiki.apache.org/CAYDOC/web-applications.html

    Essentially 'getThreadDataContext' it is not related to a
    transaction. It is used in this example only because (if configured)
    it allows a shared delegate instance to do work without knowing
    anything about the surrounding environment.

    > 1. willCommit() appears to run even on a query to the database, not
    > just when committing data. But perhaps this is just a naming thing.

    This is the expected behavior. Cayenne starts an internal transaction
    on all Queries passed through DataDomain, including selects.

    Andrus

    On Sep 17, 2006, at 10:51 PM, Aristedes Maniatis wrote:

    > We have implemented a TransactionDelegate as per the instructions
    > on http://cwiki.apache.org/confluence/display/CAYDOC/Understanding
    > +Transactions We are however, finding some problems:
    >
    > 1. willCommit() appears to run even on a query to the database, not
    > just when committing data. But perhaps this is just a naming thing.
    >
    > 2. We are getting an exception on the line of code "DataContext
    > context = DataContext.getThreadDataContext();"
    >
    > java.lang.IllegalStateException: Current thread has no bound
    > DataContext.
    >
    >
    > Under what circumstances can there be a transaction which invokes
    > TransactionDelegate but no context at that time?
    >
    >
    > Ari Maniatis
    >
    >
    >
    >
    > -------------------------->
    > ish
    > http://www.ish.com.au
    > Level 1, 30 Wilson Street Newtown 2042 Australia
    > phone +61 2 9550 5001 fax +61 2 9550 4001
    > GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A
    >
    >



    This archive was generated by hypermail 2.0.0 : Mon Sep 18 2006 - 01:06:43 EDT