Skip to content

Commit ddaa4aa

Browse files
committed
[java] use daemon threads in JdkHttpClient #13601
1 parent 93c7804 commit ddaa4aa

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

java/src/org/openqa/selenium/remote/http/jdk/JdkHttpClient.java

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@
4545
import java.util.concurrent.ExecutorService;
4646
import java.util.concurrent.Executors;
4747
import java.util.concurrent.TimeUnit;
48+
import java.util.concurrent.atomic.AtomicInteger;
4849
import java.util.function.Supplier;
4950
import java.util.logging.Level;
5051
import java.util.logging.Logger;
@@ -69,6 +70,7 @@
6970

7071
public class JdkHttpClient implements HttpClient {
7172
public static final Logger LOG = Logger.getLogger(JdkHttpClient.class.getName());
73+
private static final AtomicInteger POOL_COUNTER = new AtomicInteger(0);
7274
private final JdkHttpMessages messages;
7375
private final HttpHandler handler;
7476
private java.net.http.HttpClient client;
@@ -84,7 +86,15 @@ public class JdkHttpClient implements HttpClient {
8486
this.websockets = new ArrayList<>();
8587
this.handler = config.filter().andFinally(this::execute0);
8688

87-
executorService = Executors.newCachedThreadPool();
89+
String poolName = "JdkHttpClient-" + POOL_COUNTER.getAndIncrement();
90+
AtomicInteger threadCounter = new AtomicInteger(0);
91+
executorService =
92+
Executors.newCachedThreadPool(
93+
r -> {
94+
Thread thread = new Thread(r, poolName + "-" + threadCounter.getAndIncrement());
95+
thread.setDaemon(true);
96+
return thread;
97+
});
8898

8999
java.net.http.HttpClient.Builder builder =
90100
java.net.http.HttpClient.newBuilder()

0 commit comments

Comments
 (0)