From: <ja...@he...> - 2006-07-20 14:13:33
|
Hello Steve, thanks for the quick reply. Since I didn't notice you've moved to SVN I've checked the "latest" version from CVS (via the web CVS View) ;-) Rgds Holger Steve Ebersole wrote: >Yep. This has already been fixed for almost two months now in SVN ;) > >-----Original Message----- >From: hib...@li... >[mailto:hib...@li...] On Behalf Of >ja...@he... >Sent: Thursday, July 20, 2006 8:35 AM >To: hib...@li... >Cc: ja...@he... >Subject: [Hibernate] Connection Handling in Isolater > >Hi all, > >I think org.hibernate.engine.transaction.Isolater is not handling >connections properly: > >The method JdbcDelegate is currently implemented as follows: > > public static class JdbcDelegate implements Delegate { > ... > public void delegateWork(IsolatedWork work) throws >HibernateException { > Connection connection = null; > try { > connection = >session.getBatcher().openConnection(); > ... > } > ... > } > finally { > if ( wasAutoCommit ) { > try { > >connection.setAutoCommit( true ); > } > catch( Throwable ignore ) { > log.trace( "was unable >to reset connection back to auto-commit" ); > } > >session.getBatcher().closeConnection( connection ); > } > } > } > } > > >This means that the connection will only be closed if >wasAutoCommit==true but I think it should be closed in any circumstance: > > > public static class JdbcDelegate implements Delegate { > ... > public void delegateWork(IsolatedWork work) throws >HibernateException { > Connection connection = null; > try { > connection = >session.getBatcher().openConnection(); > ... > } > ... > } > finally { > if ( wasAutoCommit ) { > try { > >connection.setAutoCommit( true ); > } > catch( Throwable ignore ) { > log.trace( "was unable >to reset connection back to auto-commit" ); > } > } > session.getBatcher().closeConnection( >connection ); > } > } > } > >What do you think ? > -- "Feel free" – 10 GB Mailbox, 100 FreeSMS/Monat ... Jetzt GMX TopMail testen: http://www.gmx.net/de/go/topmail |