[hibernate-commits] Hibernate SVN: r14999 - in core/branches/Branch_3_2/src/org/hibernate: jdbc and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Thu Jul 31 11:10:43 EDT 2008
Author: steve.ebersole at jboss.com
Date: 2008-07-31 11:10:43 -0400 (Thu, 31 Jul 2008)
New Revision: 14999
Modified:
core/branches/Branch_3_2/src/org/hibernate/engine/transaction/Isolater.java
core/branches/Branch_3_2/src/org/hibernate/jdbc/AbstractBatcher.java
Log:
HHH-2604 : Isolator.JdbcDelegate connection releasing
Modified: core/branches/Branch_3_2/src/org/hibernate/engine/transaction/Isolater.java
===================================================================
--- core/branches/Branch_3_2/src/org/hibernate/engine/transaction/Isolater.java 2008-07-31 15:10:19 UTC (rev 14998)
+++ core/branches/Branch_3_2/src/org/hibernate/engine/transaction/Isolater.java 2008-07-31 15:10:43 UTC (rev 14999)
@@ -215,15 +215,17 @@
}
}
finally {
- if ( transacted && wasAutoCommit ) {
- try {
- connection.setAutoCommit( true );
+ if ( connection != null ) {
+ if ( transacted && wasAutoCommit ) {
+ try {
+ connection.setAutoCommit( true );
+ }
+ catch( Throwable ignore ) {
+ log.trace( "was unable to reset connection back to auto-commit" );
+ }
}
- catch( Throwable ignore ) {
- log.trace( "was unable to reset connection back to auto-commit" );
- }
+ session.getBatcher().closeConnection( connection );
}
- session.getBatcher().closeConnection( connection );
}
}
}
Modified: core/branches/Branch_3_2/src/org/hibernate/jdbc/AbstractBatcher.java
===================================================================
--- core/branches/Branch_3_2/src/org/hibernate/jdbc/AbstractBatcher.java 2008-07-31 15:10:19 UTC (rev 14998)
+++ core/branches/Branch_3_2/src/org/hibernate/jdbc/AbstractBatcher.java 2008-07-31 15:10:43 UTC (rev 14999)
@@ -590,26 +590,24 @@
}
public void closeConnection(Connection conn) throws HibernateException {
+ if ( conn == null ) {
+ log.debug( "found null connection on AbstractBatcher#closeConnection" );
+ // EARLY EXIT!!!!
+ return;
+ }
+
if ( log.isDebugEnabled() ) {
- log.debug(
- "closing JDBC connection" +
- preparedStatementCountsToString() +
- resultSetCountsToString()
- );
+ log.debug( "closing JDBC connection" + preparedStatementCountsToString() + resultSetCountsToString() );
}
try {
if ( !conn.isClosed() ) {
- JDBCExceptionReporter.logAndClearWarnings(conn);
+ JDBCExceptionReporter.logAndClearWarnings( conn );
}
- factory.getConnectionProvider().closeConnection(conn);
+ factory.getConnectionProvider().closeConnection( conn );
}
- catch (SQLException sqle) {
- throw JDBCExceptionHelper.convert(
- factory.getSQLExceptionConverter(),
- sqle,
- "Cannot close connection"
- );
+ catch ( SQLException sqle ) {
+ throw JDBCExceptionHelper.convert( factory.getSQLExceptionConverter(), sqle, "Cannot close connection" );
}
}
More information about the hibernate-commits
mailing list