Skip to content

Commit 1ec62b7

Browse files
committed
Fix connection leaks in hibernate-testing connection provider delegates
1 parent 1f9a7cf commit 1ec62b7

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
@@ -470,7 +470,9 @@ protected void closeConnection(Connection conn, Throwable t) {
470470
}
471471
}
472472
finally {
473-
allConnections.remove( conn );
473+
if ( !allConnections.remove( conn ) ) {
474+
ConnectionInfoLogger.INSTANCE.debug( "Connection remove failed." );
475+
}
474476
}
475477
}
476478

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
@@ -219,7 +219,7 @@ private void delist(Connection connection) {
219219
System.err.println( "!!!Error trying to reset synchronization registry!!!" );
220220
}
221221
try {
222-
delegate.closeConnection( connection );
222+
delegate.closeConnection( ((ConnectionWrapper) connection).delegate );
223223
}
224224
catch (SQLException e) {
225225
System.err.println( "!!!Error trying to close JDBC connection from delist callbacks!!!" );

0 commit comments

Comments
 (0)