[hibernate-commits] Hibernate SVN: r14998 - in core/trunk/core/src/main/java/org/hibernate: jdbc and 1 other directory.
hibernate-commits at lists.jboss.org
hibernate-commits at lists.jboss.org
Thu Jul 31 11:10:19 EDT 2008
Author: steve.ebersole at jboss.com
Date: 2008-07-31 11:10:19 -0400 (Thu, 31 Jul 2008)
New Revision: 14998
Modified:
core/trunk/core/src/main/java/org/hibernate/engine/transaction/Isolater.java
core/trunk/core/src/main/java/org/hibernate/jdbc/AbstractBatcher.java
Log:
HHH-2604 : Isolator.JdbcDelegate connection releasing
Modified: core/trunk/core/src/main/java/org/hibernate/engine/transaction/Isolater.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/engine/transaction/Isolater.java 2008-07-31 14:58:28 UTC (rev 14997)
+++ core/trunk/core/src/main/java/org/hibernate/engine/transaction/Isolater.java 2008-07-31 15:10:19 UTC (rev 14998)
@@ -239,15 +239,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/trunk/core/src/main/java/org/hibernate/jdbc/AbstractBatcher.java
===================================================================
--- core/trunk/core/src/main/java/org/hibernate/jdbc/AbstractBatcher.java 2008-07-31 14:58:28 UTC (rev 14997)
+++ core/trunk/core/src/main/java/org/hibernate/jdbc/AbstractBatcher.java 2008-07-31 15:10:19 UTC (rev 14998)
@@ -596,26 +596,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