List of usage examples for org.apache.http.impl.conn PoolingHttpClientConnectionManager setDefaultMaxPerRoute
public void setDefaultMaxPerRoute(final int max)
From source file:org.codelibs.solr.lib.server.SolrLibHttpSolrServer.java
public void init() { if (clientConnectionManager == null) { final PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); connectionManager.setDefaultMaxPerRoute(defaultMaxConnectionsPerHost); connectionManager.setMaxTotal(maxTotalConnections); idleConnectionMonitorThread = new IdleConnectionMonitorThread(connectionManager, connectionMonitorInterval, connectionIdelTimeout); idleConnectionMonitorThread.start(); clientConnectionManager = connectionManager; }//from w w w.j a v a2s . c o m requestConfigBuilder.setRedirectsEnabled(followRedirects); final HttpClientBuilder builder = HttpClients.custom(); if (allowCompression) { builder.addInterceptorLast(new UseCompressionRequestInterceptor()); builder.addInterceptorLast(new UseCompressionResponseInterceptor()); } for (final HttpRequestInterceptor iterceptor : httpRequestInterceptorList) { builder.addInterceptorLast(iterceptor); } init(builder.setConnectionManager(clientConnectionManager) .setDefaultRequestConfig(requestConfigBuilder.build()).build()); }
From source file:org.glassfish.jersey.examples.sseitemstore.jaxrs.JaxrsItemStoreResourceTest.java
@Override protected void configureClient(ClientConfig config) { // using AHC as a test client connector to avoid issues with HttpUrlConnection socket management. PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); // adjusting max. connections just to be safe - the testEventSourceReconnect is quite greedy... cm.setMaxTotal(MAX_LISTENERS * MAX_ITEMS); cm.setDefaultMaxPerRoute(MAX_LISTENERS * MAX_ITEMS); config.property(ApacheClientProperties.CONNECTION_MANAGER, cm).property(ClientProperties.READ_TIMEOUT, 2000) .connectorProvider(new ApacheConnectorProvider()); }
From source file:org.hupo.psi.mi.psicquic.ws.SolrBasedPsicquicRestService.java
protected HttpClient createHttpClient() { PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setMaxTotal(SolrBasedPsicquicService.maxTotalConnections); cm.setDefaultMaxPerRoute(SolrBasedPsicquicService.defaultMaxConnectionsPerHost); RequestConfig.Builder requestBuilder = RequestConfig.custom(); requestBuilder = requestBuilder.setConnectTimeout(SolrBasedPsicquicService.connectionTimeOut); requestBuilder = requestBuilder.setSocketTimeout(SolrBasedPsicquicService.soTimeOut); HttpClientBuilder builder = HttpClientBuilder.create(); builder.setDefaultRequestConfig(requestBuilder.build()); builder.setConnectionManager(cm);//w ww. ja v a 2 s .c o m return builder.build(); }
From source file:ee.ria.xroad.proxy.clientproxy.ClientProxy.java
private HttpClientConnectionManager getClientConnectionManager() throws Exception { RegistryBuilder<ConnectionSocketFactory> sfr = RegistryBuilder.create(); sfr.register("http", PlainConnectionSocketFactory.INSTANCE); if (SystemProperties.isSslEnabled()) { sfr.register("https", createSSLSocketFactory()); }/*from w ww . j a va 2 s. c o m*/ SocketConfig.Builder sockBuilder = SocketConfig.custom().setTcpNoDelay(true); sockBuilder.setSoLinger(SystemProperties.getClientProxyHttpClientSoLinger()); sockBuilder.setSoTimeout(SystemProperties.getClientProxyHttpClientTimeout()); SocketConfig socketConfig = sockBuilder.build(); PoolingHttpClientConnectionManager poolingManager = new PoolingHttpClientConnectionManager(sfr.build()); poolingManager.setMaxTotal(SystemProperties.getClientProxyPoolTotalMaxConnections()); poolingManager.setDefaultMaxPerRoute(SystemProperties.getClientProxyPoolDefaultMaxConnectionsPerRoute()); poolingManager.setDefaultSocketConfig(socketConfig); poolingManager.setValidateAfterInactivity( SystemProperties.getClientProxyValidatePoolConnectionsAfterInactivityMs()); return poolingManager; }
From source file:org.exoplatform.outlook.mail.MailAPI.java
/** * Instantiates a new mail API./* ww w . j a va2 s. c om*/ * * @param httpClient the http client * @throws MailServerException the mail server exception */ MailAPI(CloseableHttpClient httpClient) throws MailServerException { if (httpClient == null) { // FYI it's possible make more advanced conn manager settings (host verification X509, conn config, // message parser etc.) PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); // 2 recommended by RFC 2616 sec 8.1.4, we make it bigger for quicker // upload connectionManager.setDefaultMaxPerRoute(10); connectionManager.setMaxTotal(100); // Create global request configuration RequestConfig defaultRequestConfig = RequestConfig.custom().setExpectContinueEnabled(true) .setStaleConnectionCheckEnabled(true).setAuthenticationEnabled(true) .setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)) // .setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)) // .setCookieSpec(CookieSpecs.BEST_MATCH) .build(); // Create HTTP client this.httpClient = HttpClients.custom().setConnectionManager(connectionManager) // .setDefaultCredentialsProvider(credsProvider) .setDefaultRequestConfig(defaultRequestConfig).build(); } else { // Use given HTTP client (for tests) this.httpClient = httpClient; } // Default header (Accept JSON), add to those requests where required this.acceptJsonHeader = new BasicHeader("Accept", ContentType.APPLICATION_JSON.getMimeType()); // Add AuthCache to the execution context this.httpContext = HttpClientContext.create(); }
From source file:org.talend.dataprep.configuration.HttpClient.java
/** * @return the http connection manager./*from www . jav a2 s .c o m*/ */ @Bean(destroyMethod = "shutdown") public PoolingHttpClientConnectionManager getConnectionManager() { // fallback to default implementation if (sslSocketFactory == null) { sslSocketFactory = SSLConnectionSocketFactory.getSocketFactory(); } PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager( RegistryBuilder.<ConnectionSocketFactory>create() .register("http", PlainConnectionSocketFactory.getSocketFactory()) .register("https", sslSocketFactory).build()); connectionManager.setMaxTotal(maxPoolSize); connectionManager.setDefaultMaxPerRoute(maxPerRoute); return connectionManager; }
From source file:org.glassfish.jersey.examples.sseitemstore.ItemStoreResourceTest.java
@Override protected void configureClient(ClientConfig config) { // using AHC as a test client connector to avoid issues with HttpUrlConnection socket management. PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); // adjusting max. connections just to be safe - the testEventSourceReconnect is quite greedy... cm.setMaxTotal(MAX_LISTENERS * MAX_ITEMS); cm.setDefaultMaxPerRoute(MAX_LISTENERS * MAX_ITEMS); config.register(SseFeature.class).property(ApacheClientProperties.CONNECTION_MANAGER, cm) .property(ClientProperties.READ_TIMEOUT, 2000).connectorProvider(new ApacheConnectorProvider()); }
From source file:org.apache.dubbo.rpc.protocol.rest.RestProtocol.java
@Override protected <T> T doRefer(Class<T> serviceType, URL url) throws RpcException { if (connectionMonitor == null) { connectionMonitor = new ConnectionMonitor(); }/*from w ww . j a va 2 s .co m*/ // TODO more configs to add PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); // 20 is the default maxTotal of current PoolingClientConnectionManager connectionManager.setMaxTotal(url.getParameter(Constants.CONNECTIONS_KEY, 20)); connectionManager.setDefaultMaxPerRoute(url.getParameter(Constants.CONNECTIONS_KEY, 20)); connectionMonitor.addConnectionManager(connectionManager); RequestConfig requestConfig = RequestConfig.custom() .setConnectTimeout(url.getParameter(Constants.TIMEOUT_KEY, Constants.DEFAULT_TIMEOUT)) .setSocketTimeout(url.getParameter(Constants.TIMEOUT_KEY, Constants.DEFAULT_TIMEOUT)).build(); SocketConfig socketConfig = SocketConfig.custom().setSoKeepAlive(true).setTcpNoDelay(true).build(); CloseableHttpClient httpClient = HttpClientBuilder.create() .setKeepAliveStrategy(new ConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { HeaderElementIterator it = new BasicHeaderElementIterator( response.headerIterator(HTTP.CONN_KEEP_ALIVE)); while (it.hasNext()) { HeaderElement he = it.nextElement(); String param = he.getName(); String value = he.getValue(); if (value != null && param.equalsIgnoreCase("timeout")) { return Long.parseLong(value) * 1000; } } // TODO constant return 30 * 1000; } }).setDefaultRequestConfig(requestConfig).setDefaultSocketConfig(socketConfig).build(); ApacheHttpClient4Engine engine = new ApacheHttpClient4Engine(httpClient/*, localContext*/); ResteasyClient client = new ResteasyClientBuilder().httpEngine(engine).build(); clients.add(client); client.register(RpcContextFilter.class); for (String clazz : Constants.COMMA_SPLIT_PATTERN.split(url.getParameter(Constants.EXTENSION_KEY, ""))) { if (!StringUtils.isEmpty(clazz)) { try { client.register(Thread.currentThread().getContextClassLoader().loadClass(clazz.trim())); } catch (ClassNotFoundException e) { throw new RpcException("Error loading JAX-RS extension class: " + clazz.trim(), e); } } } // TODO protocol ResteasyWebTarget target = client .target("http://" + url.getHost() + ":" + url.getPort() + "/" + getContextPath(url)); return target.proxy(serviceType); }
From source file:com.floragunn.searchguard.HeaderAwareJestClientFactory.java
protected HttpClientConnectionManager createConnectionManager() { if (httpClientConfig.isMultiThreaded()) { log.debug("Multi-threaded http connection manager created"); final PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); final Integer maxTotal = httpClientConfig.getMaxTotalConnection(); if (maxTotal != null) { cm.setMaxTotal(maxTotal);//from ww w .jav a 2 s .c om } final Integer defaultMaxPerRoute = httpClientConfig.getDefaultMaxTotalConnectionPerRoute(); if (defaultMaxPerRoute != null) { cm.setDefaultMaxPerRoute(defaultMaxPerRoute); } final Map<HttpRoute, Integer> maxPerRoute = httpClientConfig.getMaxTotalConnectionPerRoute(); for (final HttpRoute route : maxPerRoute.keySet()) { cm.setMaxPerRoute(route, maxPerRoute.get(route)); } return cm; } log.debug("Default http connection is created without multi threaded option"); return new BasicHttpClientConnectionManager(); }
From source file:com.gooddata.GoodData.java
private HttpClientBuilder createHttpClientBuilder(final GoodDataSettings settings) { final PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); connectionManager.setDefaultMaxPerRoute(settings.getMaxConnections()); connectionManager.setMaxTotal(settings.getMaxConnections()); final SocketConfig.Builder socketConfig = SocketConfig.copy(SocketConfig.DEFAULT); socketConfig.setSoTimeout(settings.getSocketTimeout()); connectionManager.setDefaultSocketConfig(socketConfig.build()); final RequestConfig.Builder requestConfig = RequestConfig.copy(RequestConfig.DEFAULT); requestConfig.setConnectTimeout(settings.getConnectionTimeout()); requestConfig.setConnectionRequestTimeout(settings.getConnectionRequestTimeout()); requestConfig.setSocketTimeout(settings.getSocketTimeout()); return HttpClientBuilder.create() .setUserAgent(StringUtils.isNotBlank(settings.getUserAgent()) ? String.format("%s %s", settings.getUserAgent(), getUserAgent()) : getUserAgent())/*from ww w . j av a 2s . co m*/ .setConnectionManager(connectionManager).setDefaultRequestConfig(requestConfig.build()); }