diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java index d6a829626f7..c1a7b433a63 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpClient.java @@ -195,7 +195,8 @@ public class HttpClient extends ContainerLifeCycle { QueuedThreadPool threadPool = new QueuedThreadPool(); threadPool.setName(name); - setExecutor(threadPool); + executor = threadPool; + setExecutor(executor); } int maxBucketSize = executor instanceof ThreadPool.SizedThreadPool ? ((ThreadPool.SizedThreadPool)executor).getMaxThreads() / 2 @@ -207,10 +208,13 @@ public class HttpClient extends ContainerLifeCycle addBean(new ArrayRetainableByteBufferPool(0, 2048, 65536, maxBucketSize)); Scheduler scheduler = getScheduler(); if (scheduler == null) - setScheduler(new ScheduledExecutorScheduler(name + "-scheduler", false)); + { + scheduler = new ScheduledExecutorScheduler(name + "-scheduler", false); + setScheduler(scheduler); + } if (resolver == null) - setSocketAddressResolver(new SocketAddressResolver.Async(getExecutor(), getScheduler(), getAddressResolutionTimeout())); + setSocketAddressResolver(new SocketAddressResolver.Async(getExecutor(), scheduler, getAddressResolutionTimeout())); handlers.put(new ContinueProtocolHandler()); handlers.put(new RedirectProtocolHandler(this));