Skip to content

Commit c5ad23a

Browse files
committed
Fix connection leaks in hibernate-testing connection provider delegates
1 parent 02acad3 commit c5ad23a

File tree

3 files changed

+5
-3
lines changed

3 files changed

+5
-3
lines changed

hibernate-core/src/main/java/org/hibernate/engine/jdbc/connections/internal/DriverManagerConnectionProviderImpl.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -471,7 +471,9 @@ protected void closeConnection(Connection conn, Throwable t) {
471471
}
472472
}
473473
finally {
474-
allConnections.remove( conn );
474+
if ( !allConnections.remove( conn ) ) {
475+
ConnectionInfoLogger.INSTANCE.debug( "Connection remove failed." );
476+
}
475477
}
476478
}
477479

hibernate-core/src/test/java/org/hibernate/orm/test/resource/ConnectionProviderDelegate.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ public Connection getConnection() throws SQLException {
122122

123123
@Override
124124
public void closeConnection(Connection connection) throws SQLException {
125-
connectionProvider.closeConnection( connection );
125+
connectionProvider.closeConnection( ((ConnectionWrapper) connection).delegate );
126126
}
127127

128128
@Override

hibernate-testing/src/main/java/org/hibernate/testing/jta/JtaAwareConnectionProviderImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ private void delist(Connection connection) {
218218
System.err.println( "!!!Error trying to reset synchronization registry!!!" );
219219
}
220220
try {
221-
delegate.closeConnection( connection );
221+
delegate.closeConnection( ((ConnectionWrapper) connection).delegate );
222222
}
223223
catch (SQLException e) {
224224
System.err.println( "!!!Error trying to close JDBC connection from delist callbacks!!!" );

0 commit comments

Comments
 (0)