HHH-13594 ResourceRegistryStandardImpl#release could avoid allocating a capturing lambda

This commit is contained in:
Sanne Grinovero 2019-08-20 18:53:09 +01:00
parent 4661efa468
commit 408275ddec

View File

@ -146,13 +146,18 @@ public void release(ResultSet resultSet, Statement statement) {
close( resultSet ); close( resultSet );
} }
protected void closeAll(final HashMap<ResultSet,Object> resultSets) { private static void closeAll(final HashMap<ResultSet,Object> resultSets) {
resultSets.forEach( (resultSet, o) -> close( resultSet ) ); resultSets.forEach( (resultSet, o) -> close( resultSet ) );
resultSets.clear(); resultSets.clear();
} }
private static void releaseXref(final Statement s, final HashMap<ResultSet, Object> r) {
closeAll( r );
close( s );
}
@SuppressWarnings({"unchecked"}) @SuppressWarnings({"unchecked"})
public static void close(ResultSet resultSet) { private static void close(final ResultSet resultSet) {
log.tracef( "Closing result set [%s]", resultSet ); log.tracef( "Closing result set [%s]", resultSet );
try { try {
@ -315,12 +320,7 @@ public void releaseResources() {
jdbcObserver.jdbcReleaseRegistryResourcesStart(); jdbcObserver.jdbcReleaseRegistryResourcesStart();
} }
xref.forEach( xref.forEach( ResourceRegistryStandardImpl::releaseXref );
(Statement s, HashMap<ResultSet,Object> r) -> {
closeAll( r );
close( s );
}
);
xref.clear(); xref.clear();
closeAll( unassociatedResultSets ); closeAll( unassociatedResultSets );