List of usage examples for org.apache.http.impl.conn PoolingHttpClientConnectionManager PoolingHttpClientConnectionManager
public PoolingHttpClientConnectionManager(final Registry<ConnectionSocketFactory> socketFactoryRegistry, final HttpConnectionFactory<HttpRoute, ManagedHttpClientConnection> connFactory)
From source file:org.elasticsearch.example.SiteContentsIT.java
public void test() throws Exception { TestCluster cluster = cluster();//from w w w . ja va2s.com assumeTrue( "this test will not work from an IDE unless you pass tests.cluster pointing to a running instance", cluster instanceof ExternalTestCluster); ExternalTestCluster externalCluster = (ExternalTestCluster) cluster; try (CloseableHttpClient httpClient = HttpClients .createMinimal(new PoolingHttpClientConnectionManager(15, TimeUnit.SECONDS))) { for (InetSocketAddress address : externalCluster.httpAddresses()) { RestResponse restResponse = new RestResponse( new HttpRequestBuilder(httpClient).host(NetworkAddress.format(address.getAddress())) .port(address.getPort()).path("/_plugin/site-example/").method("GET").execute()); assertEquals(200, restResponse.getStatusCode()); String body = restResponse.getBodyAsString(); assertTrue("unexpected body contents: " + body, body.contains("<body>Page body</body>")); } } }
From source file:io.fabric8.kit.build.service.docker.access.hc.util.AbstractNativeClientBuilder.java
@Override public CloseableHttpClient buildPooledClient() { final HttpClientBuilder httpBuilder = HttpClients.custom(); final PoolingHttpClientConnectionManager manager = new PoolingHttpClientConnectionManager(registry, dnsResolver);//from ww w . j a v a 2 s . c om manager.setDefaultMaxPerRoute(maxConnections); httpBuilder.setConnectionManager(manager); return httpBuilder.build(); }
From source file:ca.uhn.fhir.rest.client.apache.ApacheRestfulClientFactory.java
public synchronized HttpClient getNativeHttpClient() { if (myHttpClient == null) { PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(5000, TimeUnit.MILLISECONDS); connectionManager.setMaxTotal(getPoolMaxTotal()); connectionManager.setDefaultMaxPerRoute(getPoolMaxPerRoute()); // @formatter:off RequestConfig defaultRequestConfig = RequestConfig.custom().setSocketTimeout(getSocketTimeout()) .setConnectTimeout(getConnectTimeout()) .setConnectionRequestTimeout(getConnectionRequestTimeout()).setStaleConnectionCheckEnabled(true) .setProxy(myProxy).build(); HttpClientBuilder builder = HttpClients.custom().setConnectionManager(connectionManager) .setDefaultRequestConfig(defaultRequestConfig).disableCookieManagement(); if (myProxy != null && StringUtils.isNotBlank(getProxyUsername()) && StringUtils.isNotBlank(getProxyPassword())) { CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(myProxy.getHostName(), myProxy.getPort()), new UsernamePasswordCredentials(getProxyUsername(), getProxyPassword())); builder.setProxyAuthenticationStrategy(new ProxyAuthenticationStrategy()); builder.setDefaultCredentialsProvider(credsProvider); }//from w w w . j ava2 s . co m myHttpClient = builder.build(); // @formatter:on } return myHttpClient; }
From source file:info.bonjean.beluga.connection.BelugaHTTPClient.java
private BelugaHTTPClient() { BelugaConfiguration configuration = BelugaConfiguration.getInstance(); HttpClientBuilder clientBuilder = HttpClients.custom(); // timeout//from w w w. ja v a 2 s. c om RequestConfig config = RequestConfig.custom().setConnectTimeout(TIMEOUT).setSocketTimeout(TIMEOUT) .setConnectionRequestTimeout(TIMEOUT).build(); clientBuilder.setDefaultRequestConfig(config); switch (configuration.getConnectionType()) { case PROXY_DNS: Registry<ConnectionSocketFactory> registry = RegistryBuilder.<ConnectionSocketFactory>create() .register("http", PlainConnectionSocketFactory.getSocketFactory()) .register("https", SSLConnectionSocketFactory.getSocketFactory()).build(); BelugaDNSResolver dnsOverrider = new BelugaDNSResolver(DNSProxy.PROXY_DNS); connectionManager = new PoolingHttpClientConnectionManager(registry, dnsOverrider); break; case HTTP_PROXY: HttpHost proxy = new HttpHost(configuration.getProxyHost(), configuration.getProxyPort(), "http"); clientBuilder.setProxy(proxy); break; default: } // limit the pool size connectionManager.setDefaultMaxPerRoute(2); // add interceptor, currently for debugging only clientBuilder.addInterceptorFirst(new HttpResponseInterceptor() { @Override public void process(HttpResponse response, HttpContext context) throws HttpException, IOException { HttpInetConnection connection = (HttpInetConnection) context .getAttribute(HttpCoreContext.HTTP_CONNECTION); log.debug("Remote address: " + connection.getRemoteAddress()); // TODO: reimplement blacklisting for DNS proxy by maintaining a // map [DNS IP,RESOLVED IP] in the DNS resolver for reverse // lookup } }); // finally create the HTTP client clientBuilder.setConnectionManager(connectionManager); httpClient = clientBuilder.build(); }
From source file:AIR.Common.Web.HttpWebHelper.java
public HttpWebHelper() { PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(100000000, TimeUnit.SECONDS);//ww w . j a v a 2 s. c om connectionManager.setMaxTotal(50); _client = HttpClientBuilder.create().setConnectionManager(connectionManager).build(); }
From source file:com.launchkey.sdk.LaunchKeyClient.java
private static Transport getTransport(Config config, Crypto crypto) { HttpClient httpClient;/*from w ww .j a v a 2s . co m*/ if (config.getApacheHttpClient() != null) { httpClient = config.getApacheHttpClient(); } else { int ttlSecs = config.getHttpClientConnectionTTLSecs() == null ? DEFAULT_HTTP_CLIENT_TTL_SECS : config.getHttpClientConnectionTTLSecs(); int maxClients = config.getHttpMaxClients() == null ? DEFAULT_HTTP_CLIENT_MAX_CLIENTS : config.getHttpMaxClients(); PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(ttlSecs, TimeUnit.SECONDS); connectionManager.setMaxTotal(maxClients); connectionManager.setDefaultMaxPerRoute(maxClients); // Set max per route as there is only one route httpClient = HttpClients.custom().setConnectionManager(connectionManager).build(); } String baseUrl = config.getAPIBaseURL() == null ? DEFAULT_API_BASE_URL : config.getAPIBaseURL(); return new ApacheHttpClientTransport(httpClient, baseUrl, crypto); }
From source file:net.community.chest.gitcloud.facade.frontend.git.HttpClientConnectionManagerFactoryBean.java
@Inject public HttpClientConnectionManagerFactoryBean(@Value(TTL_CONFIG_VALUE) long ttlSeconds, @Value(MAX_PER_ROUTE_CONFIG_VALUE) int defaultMaxPerRoute, @Value(MAX_TOTAL_CONFIG_VALUE) int maxTotal) { Validate.isTrue(ttlSeconds > 0L, "Invalid TTL value: %d", ttlSeconds); Validate.isTrue(defaultMaxPerRoute > 0, "Invalid max. per-route value: %d", defaultMaxPerRoute); Validate.isTrue(maxTotal > 0, "Invalid max. total value: %d", maxTotal); // TODO use a different connections registry with an all-trusting HTTPS socket factory // TODO log the total stats and/or pre-route one at DEBUG/INFO level every few minutes/seconds or every N requests manager = new PoolingHttpClientConnectionManager(ttlSeconds, TimeUnit.SECONDS) { @Override// ww w . j a v a 2 s . c om @SuppressWarnings("synthetic-access") public ConnectionRequest requestConnection(final HttpRoute route, Object state) { final ConnectionRequest req = super.requestConnection(route, state); if (logger.isTraceEnabled()) { return new ConnectionRequest() { @Override public boolean cancel() { logger.trace("requestConnection(" + route + ") cancelling"); return req.cancel(); } @Override public HttpClientConnection get(long timeout, TimeUnit tunit) throws InterruptedException, ExecutionException, ConnectionPoolTimeoutException { HttpClientConnection conn = req.get(timeout, tunit); logger.trace( "requestConnection(" + route + ")[" + timeout + " " + tunit + "]: " + conn); return conn; } }; } return req; } @Override @SuppressWarnings("synthetic-access") public void releaseConnection(HttpClientConnection managedConn, Object state, long keepalive, TimeUnit tunit) { if (logger.isTraceEnabled()) { logger.trace("releaseConnection(" + keepalive + " " + tunit + "]: " + managedConn); } super.releaseConnection(managedConn, state, keepalive, tunit); } @Override @SuppressWarnings("synthetic-access") public void connect(HttpClientConnection managedConn, HttpRoute route, int connectTimeout, HttpContext context) throws IOException { if (logger.isTraceEnabled()) { logger.trace("connect(" + route + ")[timeout=" + connectTimeout + "]: " + managedConn); } super.connect(managedConn, route, connectTimeout, context); } }; manager.setDefaultMaxPerRoute(defaultMaxPerRoute); manager.setMaxTotal(maxTotal); }
From source file:org.artifactory.util.HttpClientConfigurator.java
/** * Creates custom Http Client connection pool to be used by Http Client * * @return {@link PoolingHttpClientConnectionManager} *//* ww w . j a va 2s . c o m*/ private PoolingHttpClientConnectionManager createConnectionMgr() { PoolingHttpClientConnectionManager connectionMgr; connectionMgr = new PoolingHttpClientConnectionManager(INACTIVITY_TIMEOUT, TimeUnit.MILLISECONDS); connectionMgr.setMaxTotal(MAX_TOTAL_CONNECTIONS); connectionMgr.setDefaultMaxPerRoute(MAX_CONNECTIONS_PER_HOST); HttpHost localhost = new HttpHost(LOCALHOST, DEFAULT_PORT); connectionMgr.setMaxPerRoute(new HttpRoute(localhost), DEFAULT_POOL_MAX_CONNECTIONS_PER_ROUTE); return connectionMgr; }
From source file:leap.webunit.client.THttpClientImpl.java
protected HttpClient createDefaultHttpClient() { HttpClientBuilder cb = HttpClientBuilder.create(); //TODO : small buffer size will cause socket closed when reading response entity? PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(getDefaultRegistry(), this.dnsResolver); //cm.setDefaultConnectionConfig(ConnectionConfig.custom().setBufferSize(1024 * 1024).build()); cb.setConnectionManager(cm);//from w w w.j a v a 2 s . c o m cb.setDefaultCookieStore(this.cookieStore); cb.setRedirectStrategy(new DefaultRedirectStrategy() { @Override public boolean isRedirected(HttpRequest request, HttpResponse response, HttpContext context) throws ProtocolException { if (!autoRedirect) { return false; } return super.isRedirected(request, response, context); } }); return cb.build(); }