mirror of
https://github.com/hibernate/hibernate-orm
synced 2025-02-09 04:34:49 +00:00
HHH-13594 ResourceRegistryStandardImpl#release could avoid allocating a capturing lambda
This commit is contained in:
parent
4661efa468
commit
408275ddec
@ -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 );
|
||||||
|
Loading…
x
Reference in New Issue
Block a user