45
45
import java .util .concurrent .ExecutorService ;
46
46
import java .util .concurrent .Executors ;
47
47
import java .util .concurrent .TimeUnit ;
48
+ import java .util .concurrent .atomic .AtomicInteger ;
48
49
import java .util .function .Supplier ;
49
50
import java .util .logging .Level ;
50
51
import java .util .logging .Logger ;
69
70
70
71
public class JdkHttpClient implements HttpClient {
71
72
public static final Logger LOG = Logger .getLogger (JdkHttpClient .class .getName ());
73
+ private static final AtomicInteger POOL_COUNTER = new AtomicInteger (0 );
72
74
private final JdkHttpMessages messages ;
73
75
private final HttpHandler handler ;
74
76
private java .net .http .HttpClient client ;
@@ -84,7 +86,15 @@ public class JdkHttpClient implements HttpClient {
84
86
this .websockets = new ArrayList <>();
85
87
this .handler = config .filter ().andFinally (this ::execute0 );
86
88
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
+ });
88
98
89
99
java .net .http .HttpClient .Builder builder =
90
100
java .net .http .HttpClient .newBuilder ()
0 commit comments