List of usage examples for org.apache.http.impl.client DefaultConnectionKeepAliveStrategy DefaultConnectionKeepAliveStrategy
DefaultConnectionKeepAliveStrategy
From source file:com.joyent.manta.http.MantaConnectionFactory.java
/** * Configures the builder class with all of the settings needed to connect to * Manta./* w ww. j a v a 2 s. c om*/ * * @param metricConfig nullable configuration for client metrics tracking * @return configured instance */ protected HttpClientBuilder createStandardBuilder(final MantaClientMetricConfiguration metricConfig) { final int maxConns = ObjectUtils.firstNonNull(config.getMaximumConnections(), DefaultsConfigContext.DEFAULT_MAX_CONNS); final int timeout = ObjectUtils.firstNonNull(config.getTimeout(), DefaultsConfigContext.DEFAULT_HTTP_TIMEOUT); final int connectionRequestTimeout = ObjectUtils.firstNonNull(config.getConnectionRequestTimeout(), DefaultsConfigContext.DEFAULT_CONNECTION_REQUEST_TIMEOUT); final Integer expectContinueTimeout = config.getExpectContinueTimeout(); final boolean expectContinueEnabled = expectContinueTimeout != null; final RequestConfig requestConfig = RequestConfig.custom().setAuthenticationEnabled(false) .setSocketTimeout(timeout).setConnectionRequestTimeout(connectionRequestTimeout) .setContentCompressionEnabled(true).setExpectContinueEnabled(expectContinueEnabled).build(); final MantaHttpRequestExecutor requestExecutor = MantaHttpRequestExecutor.Builder.create() .setMetricConfiguration(metricConfig).setWaitForContinue(expectContinueTimeout).build(); final HttpClientBuilder builder = HttpClients.custom().disableAuthCaching().disableCookieManagement() .setUserAgent(USER_AGENT).setConnectionReuseStrategy(new DefaultConnectionReuseStrategy()) .setMaxConnTotal(maxConns).setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy()) .setDefaultRequestConfig(requestConfig).setConnectionManagerShared(false) .setRequestExecutor(requestExecutor).setConnectionBackoffStrategy(new DefaultBackoffStrategy()); final HttpHost proxyHost = findProxyServer(); if (proxyHost != null) { builder.setProxy(proxyHost); } return builder; }
From source file:net.yacy.cora.protocol.http.HTTPClient.java
/** * If the Keep-Alive header is not present in the response, * HttpClient assumes the connection can be kept alive indefinitely. * Here we limit this to 5 seconds if unset and to a max of 25 seconds * * @param defaultHttpClient// ww w .ja v a2 s. com */ private static ConnectionKeepAliveStrategy customKeepAliveStrategy() { return new DefaultConnectionKeepAliveStrategy() { @Override public long getKeepAliveDuration(HttpResponse response, HttpContext context) { long keepAlive = super.getKeepAliveDuration(response, context); return Math.min(Math.max(keepAlive, 5000), 25000); } }; }
From source file:org.apache.http.impl.client.AbstractHttpClient.java
protected ConnectionKeepAliveStrategy createConnectionKeepAliveStrategy() { return new DefaultConnectionKeepAliveStrategy(); }