Example usage for org.springframework.http.client HttpComponentsClientHttpRequestFactory setReadTimeout

List of usage examples for org.springframework.http.client HttpComponentsClientHttpRequestFactory setReadTimeout

Introduction

In this page you can find the example usage for org.springframework.http.client HttpComponentsClientHttpRequestFactory setReadTimeout.

Prototype

public void setReadTimeout(int timeout) 

Source Link

Document

Set the socket read timeout for the underlying RequestConfig .

Usage

From source file:com.tyro.oss.pact.spring4.pact.provider.DefaultPactResolver.java

protected RestTemplate createRestTemplate() {
    HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
    factory.setReadTimeout(PACT_DOWNLOAD_TIMEOUT_MILLIS);
    factory.setConnectTimeout(PACT_DOWNLOAD_TIMEOUT_MILLIS);

    return new RestTemplate(factory);
}

From source file:org.venice.beachfront.bfapi.services.GeoServerProxyService.java

@PostConstruct
public void initialize() throws MalformedURLException {
    // Configure a timeout specific to GeoServer. These connections are prone to hanging, and we want to enforce a
    // quick timeout period so this does not lock up the application.
    HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
            this.httpClient);
    requestFactory.setReadTimeout(geoserverTimeout);
    restTemplate.setRequestFactory(requestFactory);
    requestHeaders = new HttpEntity<>(authHeaders.get());
    geoserverUrl = new URL(geoserverEnvironment.getGeoServerBaseUrl());
}

From source file:com.qdeve.oilprice.configuration.HttpConfiguration.java

@Bean
public ClientHttpRequestFactory httpRequestsFactory() {
    HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory(httpclient());
    factory.setConnectionRequestTimeout(appPropertries.getConnectionRequestTimeout());
    factory.setConnectTimeout(appPropertries.getConnectionTimeout());
    factory.setReadTimeout(appPropertries.getConnectionReadTimeout());
    return factory;
}

From source file:org.jnrain.mobile.service.JNRainSpiceService.java

private void manageTimeOuts(RestTemplate restTemplate) {
    // set timeout for requests
    ClientHttpRequestFactory factory = restTemplate.getRequestFactory();
    if (factory instanceof HttpComponentsClientHttpRequestFactory) {
        HttpComponentsClientHttpRequestFactory advancedFactory = (HttpComponentsClientHttpRequestFactory) factory;
        advancedFactory.setConnectTimeout(REQUEST_TIMEOUT);
        advancedFactory.setReadTimeout(REQUEST_TIMEOUT);
    } else if (factory instanceof SimpleClientHttpRequestFactory) {
        SimpleClientHttpRequestFactory advancedFactory = (SimpleClientHttpRequestFactory) factory;
        advancedFactory.setConnectTimeout(REQUEST_TIMEOUT);
        advancedFactory.setReadTimeout(REQUEST_TIMEOUT);
    }/*from   w w  w  .j  a v a2 s .c  o  m*/
}

From source file:com.cisco.cta.taxii.adapter.httpclient.HttpClientConfiguration.java

@Bean
public ClientHttpRequestFactory httpRequestFactory() {
    HttpComponentsClientHttpRequestFactory factory = new BasicAuthHttpRequestFactory(httpClient(),
            taxiiServiceSettings, proxySettings, credentialsProvider());
    factory.setConnectTimeout(300000); //5min
    factory.setConnectionRequestTimeout(300000); //5min
    factory.setReadTimeout(300000); //5min
    return factory;
}

From source file:com.netflix.genie.web.configs.MvcConfig.java

/**
 * Get RestTemplate for calling between Genie nodes.
 *
 * @param httpConnectTimeout http connection timeout in milliseconds
 * @param httpReadTimeout    http read timeout in milliseconds
 * @return The rest template to use/*  w  ww .ja  va2 s .c o  m*/
 */
@Primary
@Bean(name = "genieRestTemplate")
public RestTemplate restTemplate(@Value("${genie.http.connect.timeout:2000}") final int httpConnectTimeout,
        @Value("${genie.http.read.timeout:10000}") final int httpReadTimeout) {
    final HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
    factory.setConnectTimeout(httpConnectTimeout);
    factory.setReadTimeout(httpReadTimeout);
    return new RestTemplate(factory);
}

From source file:com.netflix.genie.security.oauth2.pingfederate.PingFederateRemoteTokenServices.java

/**
 * Constructor.//from  w ww  . ja v a  2  s . c  o  m
 *
 * @param serverProperties The properties of the resource server (Genie)
 * @param converter        The access token converter to use
 * @param registry         The metrics registry to use
 */
public PingFederateRemoteTokenServices(@NotNull final ResourceServerProperties serverProperties,
        @NotNull final AccessTokenConverter converter, @NotNull final MeterRegistry registry) {
    super();
    this.authenticationTimer = registry.timer(AUTHENTICATION_TIMER_NAME);
    this.pingFederateAPITimer = registry.timer(API_TIMER_NAME);
    final HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
    factory.setConnectTimeout(2000);
    factory.setReadTimeout(10000);
    final RestTemplate restTemplate = new RestTemplate(factory);
    final List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
    interceptors
            .add((final HttpRequest request, final byte[] body, final ClientHttpRequestExecution execution) -> {
                final long start = System.nanoTime();
                try {
                    return execution.execute(request, body);
                } finally {
                    pingFederateAPITimer.record(System.nanoTime() - start, TimeUnit.NANOSECONDS);
                }
            });
    restTemplate.setInterceptors(interceptors);
    restTemplate.setErrorHandler(new DefaultResponseErrorHandler() {
        // Ignore 400
        @Override
        public void handleError(final ClientHttpResponse response) throws IOException {
            final int errorCode = response.getRawStatusCode();
            registry.counter(TOKEN_VALIDATION_ERROR_COUNTER_NAME,
                    Sets.newHashSet(Tag.of(MetricsConstants.TagKeys.STATUS, Integer.toString(errorCode))))
                    .increment();
            if (response.getRawStatusCode() != HttpStatus.BAD_REQUEST.value()) {
                super.handleError(response);
            }
        }
    });

    this.setRestTemplate(restTemplate);

    this.checkTokenEndpointUrl = serverProperties.getTokenInfoUri();
    this.clientId = serverProperties.getClientId();
    this.clientSecret = serverProperties.getClientSecret();

    Assert.state(StringUtils.isNotBlank(this.checkTokenEndpointUrl), "Check Endpoint URL is required");
    Assert.state(StringUtils.isNotBlank(this.clientId), "Client ID is required");
    Assert.state(StringUtils.isNotBlank(this.clientSecret), "Client secret is required");

    log.debug("checkTokenEndpointUrl = {}", this.checkTokenEndpointUrl);
    log.debug("clientId = {}", this.clientId);
    log.debug("clientSecret = {}", this.clientSecret);

    this.converter = converter;
}

From source file:com.netflix.genie.web.security.oauth2.pingfederate.PingFederateRemoteTokenServices.java

/**
 * Constructor.//from  w  ww  .  j  a  va2 s.co  m
 *
 * @param serverProperties The properties of the resource server (Genie)
 * @param converter        The access token converter to use
 * @param registry         The metrics registry to use
 */
public PingFederateRemoteTokenServices(@NotNull final ResourceServerProperties serverProperties,
        @NotNull final AccessTokenConverter converter, @NotNull final Registry registry) {
    super();
    this.tokenValidationError = registry
            .createId("genie.security.oauth2.pingFederate.tokenValidation.error.rate");
    this.authenticationTimer = registry.timer(AUTHENTICATION_TIMER_NAME);
    this.pingFederateAPITimer = registry.timer(API_TIMER_NAME);
    final HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
    factory.setConnectTimeout(2000);
    factory.setReadTimeout(10000);
    final RestTemplate restTemplate = new RestTemplate(factory);
    final List<ClientHttpRequestInterceptor> interceptors = new ArrayList<>();
    interceptors
            .add((final HttpRequest request, final byte[] body, final ClientHttpRequestExecution execution) -> {
                final long start = System.nanoTime();
                try {
                    return execution.execute(request, body);
                } finally {
                    pingFederateAPITimer.record(System.nanoTime() - start, TimeUnit.NANOSECONDS);
                }
            });
    restTemplate.setInterceptors(interceptors);
    restTemplate.setErrorHandler(new DefaultResponseErrorHandler() {
        // Ignore 400
        @Override
        public void handleError(final ClientHttpResponse response) throws IOException {
            final int errorCode = response.getRawStatusCode();
            registry.counter(tokenValidationError.withTag("status", Integer.toString(errorCode))).increment();
            if (response.getRawStatusCode() != HttpStatus.BAD_REQUEST.value()) {
                super.handleError(response);
            }
        }
    });

    this.setRestTemplate(restTemplate);

    this.checkTokenEndpointUrl = serverProperties.getTokenInfoUri();
    this.clientId = serverProperties.getClientId();
    this.clientSecret = serverProperties.getClientSecret();

    Assert.state(StringUtils.isNotBlank(this.checkTokenEndpointUrl), "Check Endpoint URL is required");
    Assert.state(StringUtils.isNotBlank(this.clientId), "Client ID is required");
    Assert.state(StringUtils.isNotBlank(this.clientSecret), "Client secret is required");

    log.debug("checkTokenEndpointUrl = {}", this.checkTokenEndpointUrl);
    log.debug("clientId = {}", this.clientId);
    log.debug("clientSecret = {}", this.clientSecret);

    this.converter = converter;
}

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);//from   w w w .j  av a  2 s.  c  o  m
    connManager.setDefaultMaxPerRoute(1000);
    HttpClient httpClient = HttpClientBuilder.create().setConnectionManager(connManager).build();

    HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(
            httpClient);
    clientHttpRequestFactory.setConnectTimeout(30000);
    clientHttpRequestFactory.setReadTimeout(30000);
    clientHttpRequestFactory.setConnectionRequestTimeout(30000);

    restTemplate = new RestTemplate();
    restTemplate.setRequestFactory(clientHttpRequestFactory);
    restTemplate.setErrorHandler(new DefaultResponseErrorHandler());

    return restTemplate;
}