Thanks for the Websphere background. Indeed it seems that this was left as an implementation detail. But Glassfish and Websphere are a pretty good cross section of how it should work.
Cheers, Clinton On Thu, Apr 22, 2010 at 3:32 PM, Adinath Raveendra Raj <adin...@acciente.com > wrote: > Clinton, > > On Tue, Apr 20, 2010 at 7:48 PM, Clinton Begin <clinton.be...@gmail.com>wrote: > >> Okay, I've looked around. It is really hard to find the way it's >> "supposed" to work, but I don't think it matters. There's more than enough >> empirical evidence (both in iBATIS 2 and Adinath's custom implementation). >> So I've added the close to the ManagedTransaction. It will log but >> otherwise ignore exceptions thrown by close(), to deal with unexpected >> states (and re-throwing an exception from close could hide a more important >> root cause exception). >> > > It is hard to find info on this, there is a WebSphere (from 2005) article ( > http://www.ibm.com/developerworks/websphere/library/techarticles/0506_johnsen/0506_johnsen.html) > about this topic that says: > > *When the application closes a shareable connection, the connection is not > truly closed, nor is it returned to the Free pool. Rather, it remains in the > Shared connection pool, ready for another request within the same LTC for a > connection to the same resource. > > ** LTC = Local Transaction Containment > > The funny thing is that I even had a unit test asserting this behavior, so >> I must have done it at some point for a reason. I just hope it wasn't a very >> good reason. ;-) > > > Haha, been there :) > > >> It's also funny that it wasn't found in 10 betas... which either implies >> that not many people use managed transactions, or that some app servers >> behave as I thought they would. >> >> I'm going to recommend a re-build before we take iBATIS 3 to GA, so the >> iBATIS release we'll vote on will probably be 3.0.1. >> > > Thanks, I think your changes are going to help others avoid this issue. > Keep up the excellent work. > > Best, > Adi > > -- > Acciente, LLC > Systems Architecture and Software Design > > www.acciente.com > www.inductionframework.org >