You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jmeter.apache.org by fs...@apache.org on 2020/05/09 09:27:49 UTC
[jmeter] branch master updated: Construct an InheritableThreadLocal
instead of a simple ThreadLocal
This is an automated email from the ASF dual-hosted git repository.
fschumacher pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/jmeter.git
The following commit(s) were added to refs/heads/master by this push:
new 20bc145 Construct an InheritableThreadLocal instead of a simple ThreadLocal
20bc145 is described below
commit 20bc14513b238f79d6190971e4617ac9c5f88c49
Author: Felix Schumacher <fe...@internetallee.de>
AuthorDate: Sat May 9 11:25:22 2020 +0200
Construct an InheritableThreadLocal instead of a simple ThreadLocal
The method withInitial is a static method on ThreadLocal and will create
a normal ThreadLocal instance. We want an InheritableThreadLocal instance
and have to use the old fashioned way of using an anonymous subclass
for creation of initial values.
---
.../org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java | 9 ++++++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
index b24cb66..ee79e64 100644
--- a/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
+++ b/src/protocol/http/src/main/java/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
@@ -438,9 +438,12 @@ public class HTTPHC4Impl extends HTTPHCAbstractImpl {
/**
* 1 HttpClient instance per combination of (HttpClient,HttpClientKey)
*/
- private static final ThreadLocal<Map<HttpClientKey, MutableTriple<CloseableHttpClient, AuthState, PoolingHttpClientConnectionManager>>>
- HTTPCLIENTS_CACHE_PER_THREAD_AND_HTTPCLIENTKEY =
- InheritableThreadLocal.withInitial(() -> new HashMap<>(5));
+ private static final ThreadLocal<Map<HttpClientKey, MutableTriple<CloseableHttpClient, AuthState, PoolingHttpClientConnectionManager>>>HTTPCLIENTS_CACHE_PER_THREAD_AND_HTTPCLIENTKEY = new InheritableThreadLocal<Map<HttpClientKey, MutableTriple<CloseableHttpClient, AuthState, PoolingHttpClientConnectionManager>>>() {
+ @Override
+ protected Map<HttpClientKey, MutableTriple<CloseableHttpClient, AuthState, PoolingHttpClientConnectionManager>> initialValue() {
+ return new HashMap<>(5);
+ }
+ };
/**
* CONNECTION_SOCKET_FACTORY changes if we want to simulate Slow connection