Hi Andrus,
I was experimenting with a TransactionFilter, which like the
DataContextFilter was trying to provide a carefree transaction around
web requests. I see that this is not going to work with transactions
as they are bound to resources. The use case was handling the
situation where the application code had not performed a commit, e.g.
a query operation.
regards Malcolm Edgar
On Mon, Mar 10, 2008 at 4:45 AM, Andrus Adamchik <andru..bjectstyle.org> wrote:
> BTW, if there's no commit or rollback, and the transaction stays open
> indefinitely, this would result in quick connection pool exhaustion.
> So why would you do that?
>
> Andrus
>
>
>
>
> On Mar 9, 2008, at 7:19 PM, Andrus Adamchik wrote:
> > This could be a DB artifact. E.g. with MySQL MyISAM tables. Which DB
> > are you using?
> >
> > Andrus
> >
> > On Mar 8, 2008, at 5:53 AM, Malcolm Edgar wrote:
> >
> >> I have been playing around this in a web context, and what I am
> >> finding with a user created Transaction, if the DataContext commits
> >> the changes, unless the Transaction explicitly performs a rollback
> >> the
> >> changes will be committed to the database.
> >>
> >> This is not what I was expecting, but I am wondering if this is an
> >> artifact of the thread pool, ie maybe the same thread is coming back
> >> of the pool.
> >>
> >> regards Malcolm Edgar
> >>
> >> On Tue, Feb 19, 2008 at 8:31 PM, Malcolm Edgar <malcolm.edga..mail.com
> >> > wrote:
> >>> Great! Thanks for that.
> >>>
> >>> regards Malcolm Edgar
> >>>
> >>>
> >>>
> >>> On Feb 19, 2008 11:18 AM, Andrus Adamchik <andru..bjectstyle.org>
> >>> wrote:
> >>>> Just use your own transactions, then 'commitChanges' turns into
> >>>> 'flush':
> >>>>
> >>>> http://cayenne.apache.org/doc/understanding-transactions.html
> >>>>
> >>>> Andrus
> >>>>
> >>>>
> >>>> On Feb 18, 2008, at 7:49 AM, Malcolm Edgar wrote:
> >>>>
> >>>>> Hi Ari,
> >>>>>
> >>>>> thanks for the response. This would be a very good 3.0 feature
> >>>>> if it
> >>>>> is not already present.
> >>>>>
> >>>>> In Hibernate this functionality is performed as a flush operation,
> >>>>> where CRUD operations are performed against the transaction but
> >>>>> are
> >>>>> not actually committed.
> >>>>>
> >>>>> Would this would cause issues with Cayenne PK generation
> >>>>> strategy, are
> >>>>> the highest/last table id values they maintained in memory?
> >>>>>
> >>>>> regards Malcolm Edgar
> >>>>>
> >>>>> On Feb 18, 2008 3:16 PM, Aristedes Maniatis <ar..sh.com.au>
> >>>>> wrote:
> >>>>>>
> >>>>>> On 18/02/2008, at 2:07 PM, Malcolm Edgar wrote:
> >>>>>>
> >>>>>>> Is there a way in Cayenne, possibly using Transactions, that
> >>>>>>> we can
> >>>>>>> perform this import, do inserts and queries against the
> >>>>>>> transaction
> >>>>>>> and only commit/rollback at the end?
> >>>>>>
> >>>>>> Subclass the Cayenne context, override performQuery and add in
> >>>>>> your
> >>>>>> own custom code there to look for new objects within the context?
> >>>>>> There is almost certainly a way to have a database transaction
> >>>>>> cross
> >>>>>> several Cayenne commits as well, but I can't assist there.
> >>>>>>
> >>>>>> In fact we've done this several times in our application and I
> >>>>>> was
> >>>>>> just thinking the other day whether this might be an option in
> >>>>>> a new
> >>>>>> generified performQuery and might be useful to be pushed into
> >>>>>> Cayenne.
> >>>>>>
> >>>>>>
> >>>>>> 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 : Sun Mar 09 2008 - 16:16:35 EDT