11package io .avaje .http .client ;
22
3- import java .lang .invoke .MethodHandles ;
4- import java .lang .invoke .MethodType ;
53import java .net .Authenticator ;
64import java .net .CookieHandler ;
75import java .net .CookieManager ;
1513import java .util .Optional ;
1614import java .util .Set ;
1715import java .util .concurrent .Executor ;
18- import java .util .concurrent .ExecutorService ;
19- import java .util .concurrent .Executors ;
2016import java .util .function .Function ;
2117
2218import javax .net .ssl .SSLContext ;
@@ -55,8 +51,7 @@ final class DHttpClientBuilder implements HttpClient.Builder, HttpClient.Builder
5551 private final Set <String > suppressed = new HashSet <>();
5652
5753 private void configureRetryHandler (BeanScope beanScope ) {
58- beanScope .getOptional (RetryHandler .class )
59- .ifPresent (this ::setRetryHandler );
54+ beanScope .getOptional (RetryHandler .class ).ifPresent (this ::setRetryHandler );
6055 }
6156
6257 private void setRetryHandler (RetryHandler retryHandler ) {
@@ -109,7 +104,7 @@ private java.net.http.HttpClient defaultClient() {
109104 if (executor != null ) {
110105 builder .executor (executor );
111106 } else if (Integer .getInteger ("java.specification.version" ) >= 21 ) {
112- builder .executor (virtualThreadExecutor ());
107+ builder .executor (VirtualThreadExecutor . getVTExecutor ());
113108 }
114109 if (proxy != null ) {
115110 builder .proxy (proxy );
@@ -129,17 +124,6 @@ private java.net.http.HttpClient defaultClient() {
129124 return builder .build ();
130125 }
131126
132- private static ExecutorService virtualThreadExecutor () {
133- try {
134- return (ExecutorService )
135- MethodHandles .lookup ()
136- .findStatic (Executors .class , "newVirtualThreadPerTaskExecutor" , MethodType .methodType (ExecutorService .class ))
137- .invokeExact ();
138- } catch (Throwable e ) {
139- return null ;
140- }
141- }
142-
143127 /**
144128 * Create a reasonable default BodyAdapter if avaje-jsonb or Jackson are present.
145129 */
@@ -192,8 +176,7 @@ private DHttpClientContext buildClient() {
192176 buildIntercept ());
193177 }
194178
195- DHttpClientBuilder () {
196- }
179+ DHttpClientBuilder () {}
197180
198181 @ Override
199182 public HttpClient .Builder client (java .net .http .HttpClient client ) {
@@ -377,5 +360,4 @@ public Duration requestTimeout() {
377360 public RetryHandler retryHandler () {
378361 return retryHandler ;
379362 }
380-
381363}
0 commit comments