4545import java .util .concurrent .ExecutorService ;
4646import java .util .concurrent .Executors ;
4747import java .util .concurrent .TimeUnit ;
48+ import java .util .concurrent .atomic .AtomicInteger ;
4849import java .util .function .Supplier ;
4950import java .util .logging .Level ;
5051import java .util .logging .Logger ;
6970
7071public 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