consistent use of JDK 1.5's ThreadLocal.remove() over ThreadLocal.set(null), preventing leaks (SPR-7441)
This commit is contained in:
@@ -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.
|
||||
@@ -96,7 +96,7 @@ public class ConnectionSpecConnectionFactoryAdapter extends DelegatingConnection
|
||||
* @see #setConnectionSpecForCurrentThread
|
||||
*/
|
||||
public void removeConnectionSpecFromCurrentThread() {
|
||||
this.threadBoundSpec.set(null);
|
||||
this.threadBoundSpec.remove();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@ public abstract class TransactionSynchronizationManager {
|
||||
Object value = map.remove(actualKey);
|
||||
// Remove entire ThreadLocal if empty...
|
||||
if (map.isEmpty()) {
|
||||
resources.set(null);
|
||||
resources.remove();
|
||||
}
|
||||
if (value != null && logger.isTraceEnabled()) {
|
||||
logger.trace("Removed value [" + value + "] for key [" + actualKey + "] from thread [" +
|
||||
@@ -314,7 +314,7 @@ public abstract class TransactionSynchronizationManager {
|
||||
throw new IllegalStateException("Cannot deactivate transaction synchronization - not active");
|
||||
}
|
||||
logger.trace("Clearing transaction synchronization");
|
||||
synchronizations.set(null);
|
||||
synchronizations.remove();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user