final SSLConnectionSocketFactory sslSocketFactory = SSLConnectionSocketFactoryBuilder.create() .setHostnameVerifier(hostNameVerifier).setSslContext(sslcontext).setTlsVersions(TLS.V_1_2).build(); final HttpClientConnectionManager cm = PoolingHttpClientConnectionManagerBuilder.create() .setMaxConnPerRoute(200).setMaxConnTotal(1000).setSSLSocketFactory(sslSocketFactory).build(); try (CloseableHttpClient httpclient = HttpClients.custom().setConnectionManager(cm).build()) { final HttpGet httpget = new HttpGet("https://someserver:9999"); System.out.println("Executing request " + httpget.getMethod() + " " + httpget.getUri()); final HttpClientContext clientContext = HttpClientContext.create(); for (int i = 0; 0 < 1000; i++) { try (CloseableHttpResponse response = httpclient.execute(httpget, clientContext)) { System.out.println(response.getCode() + " " + response.getReasonPhrase()); final SSLSession sslSession = clientContext.getSSLSession(); if (sslSession != null) { System.out.println( "SSL protocol " + sslSession.getProtocol() + " - " + sslSession.getCipherSuite()); } } } }