List of usage examples for org.apache.http.impl.client DefaultBackoffStrategy DefaultBackoffStrategy
DefaultBackoffStrategy
From source file:com.joyent.manta.http.MantaConnectionFactory.java
/** * Configures the builder class with all of the settings needed to connect to * Manta./*from w w w . jav a 2 s.com*/ * * @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; }