|
28 | 28 | import org.apache.http.impl.nio.client.HttpAsyncClientBuilder; |
29 | 29 | import org.apache.http.nio.conn.SchemeIOSessionStrategy; |
30 | 30 |
|
| 31 | +import javax.net.ssl.SSLContext; |
31 | 32 | import java.security.AccessController; |
| 33 | +import java.security.NoSuchAlgorithmException; |
32 | 34 | import java.security.PrivilegedAction; |
33 | 35 | import java.util.Objects; |
34 | 36 |
|
@@ -200,20 +202,25 @@ private CloseableHttpAsyncClient createHttpClient() { |
200 | 202 | requestConfigBuilder = requestConfigCallback.customizeRequestConfig(requestConfigBuilder); |
201 | 203 | } |
202 | 204 |
|
203 | | - HttpAsyncClientBuilder httpClientBuilder = HttpAsyncClientBuilder.create().setDefaultRequestConfig(requestConfigBuilder.build()) |
| 205 | + try { |
| 206 | + HttpAsyncClientBuilder httpClientBuilder = HttpAsyncClientBuilder.create().setDefaultRequestConfig(requestConfigBuilder.build()) |
204 | 207 | //default settings for connection pooling may be too constraining |
205 | | - .setMaxConnPerRoute(DEFAULT_MAX_CONN_PER_ROUTE).setMaxConnTotal(DEFAULT_MAX_CONN_TOTAL).useSystemProperties(); |
206 | | - if (httpClientConfigCallback != null) { |
207 | | - httpClientBuilder = httpClientConfigCallback.customizeHttpClient(httpClientBuilder); |
208 | | - } |
209 | | - |
210 | | - final HttpAsyncClientBuilder finalBuilder = httpClientBuilder; |
211 | | - return AccessController.doPrivileged(new PrivilegedAction<CloseableHttpAsyncClient>() { |
212 | | - @Override |
213 | | - public CloseableHttpAsyncClient run() { |
214 | | - return finalBuilder.build(); |
| 208 | + .setMaxConnPerRoute(DEFAULT_MAX_CONN_PER_ROUTE).setMaxConnTotal(DEFAULT_MAX_CONN_TOTAL) |
| 209 | + .setSSLContext(SSLContext.getDefault()); |
| 210 | + if (httpClientConfigCallback != null) { |
| 211 | + httpClientBuilder = httpClientConfigCallback.customizeHttpClient(httpClientBuilder); |
215 | 212 | } |
216 | | - }); |
| 213 | + |
| 214 | + final HttpAsyncClientBuilder finalBuilder = httpClientBuilder; |
| 215 | + return AccessController.doPrivileged(new PrivilegedAction<CloseableHttpAsyncClient>() { |
| 216 | + @Override |
| 217 | + public CloseableHttpAsyncClient run() { |
| 218 | + return finalBuilder.build(); |
| 219 | + } |
| 220 | + }); |
| 221 | + } catch (NoSuchAlgorithmException e) { |
| 222 | + throw new IllegalStateException("could not create the default ssl context", e); |
| 223 | + } |
217 | 224 | } |
218 | 225 |
|
219 | 226 | /** |
|
0 commit comments