consistent use of JDK 1.5's ThreadLocal.remove() over ThreadLocal.set(null), preventing leaks (SPR-7441)

This commit is contained in:
Juergen Hoeller
2010-09-01 17:17:25 +00:00
parent 66a5bb7c22
commit e56cfb8173
14 changed files with 47 additions and 42 deletions

View File

@@ -776,19 +776,19 @@ public class LocalSessionFactoryBean extends AbstractSessionFactoryBean implemen
finally {
if (dataSource != null) {
configTimeDataSourceHolder.set(null);
configTimeDataSourceHolder.remove();
}
if (this.jtaTransactionManager != null) {
configTimeTransactionManagerHolder.set(null);
configTimeTransactionManagerHolder.remove();
}
if (this.cacheRegionFactory != null) {
configTimeCacheProviderHolder.set(null);
configTimeCacheProviderHolder.remove();
}
if (this.cacheProvider != null) {
configTimeCacheProviderHolder.set(null);
configTimeCacheProviderHolder.remove();
}
if (this.lobHandler != null) {
configTimeLobHandlerHolder.set(null);
configTimeLobHandlerHolder.remove();
}
if (overrideClassLoader) {
// Reset original thread context ClassLoader.
@@ -896,7 +896,7 @@ public class LocalSessionFactoryBean extends AbstractSessionFactoryBean implemen
finally {
if (dataSource != null) {
// Reset DataSource holder.
configTimeDataSourceHolder.set(null);
configTimeDataSourceHolder.remove();
}
}
}
@@ -942,7 +942,7 @@ public class LocalSessionFactoryBean extends AbstractSessionFactoryBean implemen
}
finally {
if (dataSource != null) {
configTimeDataSourceHolder.set(null);
configTimeDataSourceHolder.remove();
}
}
}
@@ -984,7 +984,7 @@ public class LocalSessionFactoryBean extends AbstractSessionFactoryBean implemen
}
finally {
if (dataSource != null) {
configTimeDataSourceHolder.set(null);
configTimeDataSourceHolder.remove();
}
}
}
@@ -1054,7 +1054,7 @@ public class LocalSessionFactoryBean extends AbstractSessionFactoryBean implemen
}
finally {
if (dataSource != null) {
configTimeDataSourceHolder.set(null);
configTimeDataSourceHolder.remove();
}
}
}

View File

@@ -735,7 +735,7 @@ public abstract class SessionFactoryUtils {
closeSession(session);
}
if (holderMap.isEmpty()) {
deferredCloseHolder.set(null);
deferredCloseHolder.remove();
}
}

View File

@@ -1,5 +1,5 @@
/*
* Copyright 2002-2009 the original author or authors.
* Copyright 2002-2010 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -306,7 +306,7 @@ public class SqlMapClientFactoryBean implements FactoryBean<SqlMapClient>, Initi
finally {
if (this.lobHandler != null) {
// Reset LobHandler holder.
configTimeLobHandlerHolder.set(null);
configTimeLobHandlerHolder.remove();
}
}
}