List of usage examples for org.apache.http.impl.conn PoolingHttpClientConnectionManager setMaxTotal
public void setMaxTotal(final int max)
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 w w w. j a v a 2s .c o m*/ 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:org.kaaproject.kaa.server.appenders.rest.appender.RestLogAppender.java
@Override protected void initFromConfiguration(LogAppenderDto appender, RestConfig configuration) { this.configuration = configuration; this.executor = Executors.newFixedThreadPool(configuration.getConnectionPoolSize()); target = new HttpHost(configuration.getHost(), configuration.getPort(), configuration.getSsl() ? "https" : "http"); HttpClientBuilder builder = HttpClients.custom(); if (configuration.getUsername() != null && configuration.getPassword() != null) { LOG.info("Adding basic auth credentials provider"); CredentialsProvider credsProvider = new BasicCredentialsProvider(); credsProvider.setCredentials(new AuthScope(target.getHostName(), target.getPort()), new UsernamePasswordCredentials(configuration.getUsername(), configuration.getPassword())); builder.setDefaultCredentialsProvider(credsProvider); }/*from w ww.j av a 2s. c o m*/ if (!configuration.getVerifySslCert()) { LOG.info("Adding trustful ssl context"); SSLContextBuilder sslBuilder = new SSLContextBuilder(); try { sslBuilder.loadTrustMaterial(null, new TrustSelfSignedStrategy()); SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslBuilder.build()); builder.setSSLSocketFactory(sslsf); } catch (NoSuchAlgorithmException | KeyStoreException | KeyManagementException ex) { LOG.error("Failed to init socket factory {}", ex.getMessage(), ex); } } PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setDefaultMaxPerRoute(configuration.getConnectionPoolSize()); cm.setMaxTotal(configuration.getConnectionPoolSize()); builder.setConnectionManager(cm); this.client = builder.build(); }
From source file:org.hupo.psi.mi.psicquic.ws.SolrBasedPsicquicService.java
private HttpClient createHttpClient() { PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setMaxTotal(maxTotalConnections); cm.setDefaultMaxPerRoute(defaultMaxConnectionsPerHost); RequestConfig.Builder requestBuilder = RequestConfig.custom(); requestBuilder = requestBuilder.setConnectTimeout(connectionTimeOut); requestBuilder = requestBuilder.setSocketTimeout(soTimeOut); HttpClientBuilder builder = HttpClientBuilder.create(); builder.setDefaultRequestConfig(requestBuilder.build()); builder.setConnectionManager(cm);/*from w w w. j a v a 2 s . c o m*/ return builder.build(); }
From source file:eu.itesla_project.histodb.client.impl.HistoDbHttpClientImpl.java
private synchronized CloseableHttpClient getHttpclient(HistoDbConfig config) { if (httpClient == null) { try {//from www . j av a 2s . co m ConnectionSocketFactory plainsf = PlainConnectionSocketFactory.getSocketFactory(); TrustManager[] trustAllCerts = new TrustManager[] { new X509TrustManager() { @Override public java.security.cert.X509Certificate[] getAcceptedIssuers() { return null; } @Override public void checkClientTrusted(X509Certificate[] certs, String authType) { } @Override public void checkServerTrusted(X509Certificate[] certs, String authType) { } } }; SSLContext sslContext = SSLContext.getInstance("SSL"); sslContext.init(null, trustAllCerts, new java.security.SecureRandom()); LayeredConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslContext); Registry<ConnectionSocketFactory> r = RegistryBuilder.<ConnectionSocketFactory>create() .register("http", plainsf).register("https", sslsf).build(); PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(r); cm.setDefaultMaxPerRoute(10); cm.setMaxTotal(20); HttpClientBuilder httpClientBuilder = HttpClients.custom().setConnectionManager(cm); CredentialsProvider credentialsProvider = new BasicCredentialsProvider(); credentialsProvider.setCredentials( new AuthScope(new HttpHost(config.getConnectionParameters().getHost(), config.getConnectionParameters().getPort())), new UsernamePasswordCredentials(config.getConnectionParameters().getUserName(), config.getConnectionParameters().getPassword())); if (config.getProxyParameters() != null) { HttpHost proxy = new HttpHost(config.getProxyParameters().getHost(), config.getProxyParameters().getPort()); credentialsProvider.setCredentials(new AuthScope(proxy), new UsernamePasswordCredentials( config.getProxyParameters().getUserName(), config.getProxyParameters().getPassword())); httpClientBuilder.setProxy(proxy); } httpClient = httpClientBuilder.setDefaultCredentialsProvider(credentialsProvider).build(); } catch (KeyManagementException | NoSuchAlgorithmException e) { throw new RuntimeException(e); } } return httpClient; }
From source file:nl.knaw.huygens.alexandria.markup.client.AlexandriaMarkupClient.java
public AlexandriaMarkupClient(final URI alexandriaMarkupURI, SSLContext sslContext) { this.alexandriaMarkupURI = alexandriaMarkupURI; final ObjectMapper objectMapper = new ObjectMapper(); objectMapper.findAndRegisterModules(); final JacksonJaxbJsonProvider jacksonProvider = new JacksonJaxbJsonProvider(); jacksonProvider.setMapper(objectMapper); PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); cm.setMaxTotal(50); cm.setDefaultMaxPerRoute(50);/* w ww . ja v a2s .com*/ ApacheConnectorProvider connectorProvider = new ApacheConnectorProvider(); ClientConfig clientConfig = new ClientConfig(jacksonProvider)// .connectorProvider(connectorProvider)// .property(ApacheClientProperties.CONNECTION_MANAGER, cm)// .property(ClientProperties.CONNECT_TIMEOUT, 60000)// .property(ClientProperties.READ_TIMEOUT, 60000); if (sslContext == null) { if ("https".equals(alexandriaMarkupURI.getScheme())) { throw new RuntimeException( "SSL connections need an SSLContext, use: new AlexandriaClient(uri, sslContext) instead."); } client = ClientBuilder.newClient(clientConfig); } else { client = ClientBuilder.newBuilder()// .sslContext(sslContext)// .withConfig(clientConfig)// .build(); } rootTarget = client.target(alexandriaMarkupURI); }
From source file:org.yamj.core.tools.web.PoolingHttpClientBuilder.java
@SuppressWarnings("resource") public PoolingHttpClient build() { // create proxy HttpHost proxy = null;// w w w .ja v a 2 s . com CredentialsProvider credentialsProvider = null; if (StringUtils.isNotBlank(proxyHost) && proxyPort > 0) { proxy = new HttpHost(proxyHost, proxyPort); if (StringUtils.isNotBlank(proxyUsername) && StringUtils.isNotBlank(proxyPassword)) { if (systemProperties) { credentialsProvider = new SystemDefaultCredentialsProvider(); } else { credentialsProvider = new BasicCredentialsProvider(); } credentialsProvider.setCredentials(new AuthScope(proxyHost, proxyPort), new UsernamePasswordCredentials(proxyUsername, proxyPassword)); } } PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(); connManager.setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(socketTimeout).build()); connManager.setMaxTotal(connectionsMaxTotal); connManager.setDefaultMaxPerRoute(connectionsMaxPerRoute); HttpClientBuilder builder = HttpClientBuilder.create().setConnectionManager(connManager).setProxy(proxy) .setDefaultCredentialsProvider(credentialsProvider) .setDefaultRequestConfig(RequestConfig.custom() .setConnectionRequestTimeout(connectionRequestTimeout).setConnectTimeout(connectionTimeout) .setSocketTimeout(socketTimeout).setProxy(proxy).build()); // use system properties if (systemProperties) { builder.useSystemProperties(); } // build the client PoolingHttpClient wrapper = new PoolingHttpClient(builder.build(), connManager); wrapper.addGroupLimit(".*", 1); // default limit, can be overwritten if (StringUtils.isNotBlank(maxDownloadSlots)) { LOG.debug("Using download limits: {}", maxDownloadSlots); Pattern pattern = Pattern.compile(",?\\s*([^=]+)=(\\d+)"); Matcher matcher = pattern.matcher(maxDownloadSlots); while (matcher.find()) { String group = matcher.group(1); try { final Integer maxResults = Integer.valueOf(matcher.group(2)); wrapper.addGroupLimit(group, maxResults); LOG.trace("Added download slot '{}' with max results {}", group, maxResults); } catch (NumberFormatException error) { LOG.debug("Rule '{}' is no valid regexp, ignored", group); } } } return wrapper; }
From source file:org.glassfish.jersey.apache.connector.HttpMethodTest.java
protected Client createPoolingClient() { ClientConfig cc = new ClientConfig(); PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); connectionManager.setMaxTotal(100); connectionManager.setDefaultMaxPerRoute(100); cc.property(ApacheClientProperties.CONNECTION_MANAGER, connectionManager); cc.connectorProvider(new ApacheConnectorProvider()); return ClientBuilder.newClient(cc); }
From source file:com.northernwall.hadrian.Main.java
private void startHttpClient() { try {/*w ww . j a va 2s. co m*/ int maxConnections = Integer.parseInt(properties.getProperty("http.maxConnections", "100")); int maxPerRoute = Integer.parseInt(properties.getProperty("http.maxPerRoute", "10")); int socketTimeout = Integer.parseInt(properties.getProperty("http.socketTimeout", "1000")); int connectionTimeout = Integer.parseInt(properties.getProperty("http.connectionTimeout", "1000")); RegistryBuilder<ConnectionSocketFactory> registryBuilder = RegistryBuilder .<ConnectionSocketFactory>create(); Registry<ConnectionSocketFactory> registry = registryBuilder .register("http", PlainConnectionSocketFactory.INSTANCE).build(); PoolingHttpClientConnectionManager ccm = new PoolingHttpClientConnectionManager(registry); ccm.setMaxTotal(maxConnections); ccm.setDefaultMaxPerRoute(maxPerRoute); HttpClientBuilder clientBuilder = HttpClients.custom().setConnectionManager(ccm) .setDefaultConnectionConfig(ConnectionConfig.custom().setCharset(Consts.UTF_8).build()) .setDefaultRequestConfig(RequestConfig.custom().setSocketTimeout(socketTimeout) .setConnectTimeout(connectionTimeout).build()); client = clientBuilder.build(); } catch (NumberFormatException nfe) { throw new IllegalStateException("Error Creating HTTPClient, could not parse property"); } catch (Exception e) { throw new IllegalStateException("Error Creating HTTPClient: ", e); } }
From source file:com.hybris.integration.util.RestTemplateUtil.java
@PostConstruct private RestTemplate initializationTemplate() { ConnectionConfig connConfig = ConnectionConfig.custom().setCharset(Charset.forName("UTF-8")).build(); SocketConfig socketConfig = SocketConfig.custom().setSoTimeout(100000).build(); RegistryBuilder<ConnectionSocketFactory> registryBuilder = RegistryBuilder .<ConnectionSocketFactory>create(); ConnectionSocketFactory plainSF = new PlainConnectionSocketFactory(); registryBuilder.register("http", plainSF); registryBuilder.register("https", setUpSSL()); Registry<ConnectionSocketFactory> registry = registryBuilder.build(); PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(registry); connManager.setDefaultConnectionConfig(connConfig); connManager.setDefaultSocketConfig(socketConfig); connManager.setMaxTotal(1000); connManager.setDefaultMaxPerRoute(1000); HttpClient httpClient = HttpClientBuilder.create().setConnectionManager(connManager).build(); HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory( httpClient);/* w ww .j a v a 2 s .co m*/ clientHttpRequestFactory.setConnectTimeout(30000); clientHttpRequestFactory.setReadTimeout(30000); clientHttpRequestFactory.setConnectionRequestTimeout(30000); restTemplate = new RestTemplate(); restTemplate.setRequestFactory(clientHttpRequestFactory); restTemplate.setErrorHandler(new DefaultResponseErrorHandler()); return restTemplate; }
From source file:com.kolich.http.HttpClient4ClosureBuilder.java
public HttpClientConnectionManager getConnectionManager() { final PoolingHttpClientConnectionManager connectionManager = new PoolingHttpClientConnectionManager(); connectionManager.setDefaultMaxPerRoute(maxConnectionsPerRoute_); connectionManager.setMaxTotal(maxTotalConnections_); return connectionManager; }