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:org.springframework.cloud.dataflow.server.service.impl.validation.DockerRegistryValidator.java

private RestTemplate configureRestTemplate() {
    CloseableHttpClient httpClient = HttpClients.custom().setSSLHostnameVerifier(new NoopHostnameVerifier())
            .build();/*from  w  ww  .  jav a2 s  .c o  m*/
    HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
    requestFactory.setHttpClient(httpClient);
    requestFactory.setConnectTimeout(dockerValidatiorProperties.getConnectTimeoutInMillis());
    requestFactory.setReadTimeout(dockerValidatiorProperties.getReadTimeoutInMillis());

    RestTemplate restTemplate = new RestTemplate(requestFactory);
    return restTemplate;
}

From source file:com.hybris.datahub.outbound.utils.RestTemplateUtil.java

private RestTemplate initializationTemplate() {
    final ConnectionConfig connConfig = ConnectionConfig.custom().setCharset(Charset.forName("UTF-8")).build();
    final SocketConfig socketConfig = SocketConfig.custom().setSoTimeout(100000).build();
    final RegistryBuilder<ConnectionSocketFactory> registryBuilder = RegistryBuilder
            .<ConnectionSocketFactory>create();
    final ConnectionSocketFactory plainSF = new PlainConnectionSocketFactory();
    registryBuilder.register("http", plainSF);

    registryBuilder.register("https", setUpSSL());

    final Registry<ConnectionSocketFactory> registry = registryBuilder.build();
    final PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(registry);
    connManager.setDefaultConnectionConfig(connConfig);
    connManager.setDefaultSocketConfig(socketConfig);
    connManager.setMaxTotal(1000);//  w  w w. ja v a  2 s.  c  o m
    connManager.setDefaultMaxPerRoute(1000);
    final HttpClient httpClient = HttpClientBuilder.create().setConnectionManager(connManager).build();

    final HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(
            httpClient);
    clientHttpRequestFactory.setConnectTimeout(50000);
    clientHttpRequestFactory.setReadTimeout(30000);
    // clientHttpRequestFactory.setConnectionRequestTimeout(200);

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

    return restTemplate;
}

From source file:com.arvato.thoroughly.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);// ww  w .  j  av  a 2  s  .co 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());

    reInitMessageConverter(restTemplate);

    return restTemplate;
}

From source file:de.hybris.platform.marketplaceintegrationbackoffice.utils.MarketplaceintegrationbackofficeRestTemplateUtil.java

private RestTemplate initializationTemplate() {
    final ConnectionConfig connConfig = ConnectionConfig.custom().setCharset(Charset.forName("UTF-8")).build();
    final SocketConfig socketConfig = SocketConfig.custom().setSoTimeout(100000).build();
    final RegistryBuilder<ConnectionSocketFactory> registryBuilder = RegistryBuilder
            .<ConnectionSocketFactory>create();
    final ConnectionSocketFactory plainSF = new PlainConnectionSocketFactory();
    registryBuilder.register("http", plainSF);

    registryBuilder.register("https", setUpSSL());

    final Registry<ConnectionSocketFactory> registry = registryBuilder.build();
    final PoolingHttpClientConnectionManager connManager = new PoolingHttpClientConnectionManager(registry);
    connManager.setDefaultConnectionConfig(connConfig);
    connManager.setDefaultSocketConfig(socketConfig);
    connManager.setMaxTotal(1000);/* w  w  w . jav  a  2s.  c  o m*/
    connManager.setDefaultMaxPerRoute(1000);
    final HttpClient httpClient = HttpClientBuilder.create().setConnectionManager(connManager).build();

    final HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(
            httpClient);
    clientHttpRequestFactory.setConnectTimeout(5000);
    clientHttpRequestFactory.setReadTimeout(5000);
    clientHttpRequestFactory.setConnectionRequestTimeout(200);

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

    return restTemplate;
}

From source file:access.deploy.geoserver.PiazzaEnvironment.java

/**
 * Invokes initialization logic for Piazza workspace and PostGIS Data Store
 *///from w ww  .  j av  a2 s .c  om
@PostConstruct
public void initializeEnvironment() {
    pzLogger.log("Initializing - checking GeoServer for required workspaces and data stores.",
            Severity.INFORMATIONAL);

    // Since we're on the startup thread, we want to try to complete quickly. i.e. don't wait for slow connections.
    // Configure a reasonable timeout for the rest client to abort slow requests.
    HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
            this.httpClient);
    requestFactory.setReadTimeout(restTemplateConnectionReadTimeout);
    restTemplate.setRequestFactory(requestFactory);

    // Check for Workspace
    try {
        String workspaceUri = String.format("%s/rest/workspaces/piazza.json",
                accessUtilities.getGeoServerBaseUrl());
        if (!doesResourceExist(workspaceUri)) {
            createWorkspace();
        } else {
            LOGGER.info("GeoServer Piazza Workspace found.");
        }
    } catch (Exception exception) {
        String error = "Server error encountered while trying to check Piazza Workspace. Will not attempt to create this Resource.";
        LOGGER.warn(error, exception);
        pzLogger.log(error, Severity.WARNING);
    }

    // Check for Data Store
    try {
        String dataStoreUri = String.format("%s/rest/workspaces/piazza/datastores/piazza.json",
                accessUtilities.getGeoServerBaseUrl());
        if (!doesResourceExist(dataStoreUri)) {
            createPostgresStore();
        } else {
            LOGGER.info("GeoServer Piazza Data Store found.");
        }
    } catch (Exception exception) {
        String error = "Server error encountered while trying to check Piazza Data Store. Will not attempt to create this Resource.";
        LOGGER.warn(error, exception);
        pzLogger.log(error, Severity.WARNING);
    }
}

From source file:com.miapc.ipudong.Application.java

@Bean
public RestTemplate getRestTemplate() {
    SSLContext sslcontext = null;
    Set<KeyManager> keymanagers = new LinkedHashSet<>();
    Set<TrustManager> trustmanagers = new LinkedHashSet<>();
    try {//from  www .j a  v a 2s .  co  m
        trustmanagers.add(new HttpsTrustManager());
        KeyManager[] km = keymanagers.toArray(new KeyManager[keymanagers.size()]);
        TrustManager[] tm = trustmanagers.toArray(new TrustManager[trustmanagers.size()]);
        sslcontext = SSLContexts.custom().build();
        sslcontext.init(km, tm, new SecureRandom());
    } catch (NoSuchAlgorithmException e) {
        e.printStackTrace();
    } catch (KeyManagementException e) {
        e.printStackTrace();
    }
    SSLConnectionSocketFactory factory = new SSLConnectionSocketFactory(sslcontext,
            SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
    HttpClientBuilder httpClientBuilder = HttpClients.custom();
    httpClientBuilder.setSSLSocketFactory(factory);
    // ?3?
    httpClientBuilder.setRetryHandler(new DefaultHttpRequestRetryHandler(2, true));
    // ????Keep-Alive
    httpClientBuilder.setKeepAliveStrategy(new DefaultConnectionKeepAliveStrategy());

    List<Header> headers = new ArrayList<>();
    headers.add(new BasicHeader("User-Agent",
            "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.16 Safari/537.36"));
    headers.add(new BasicHeader("Accept-Encoding", "gzip,deflate"));
    headers.add(new BasicHeader("Accept-Language", "zh-CN"));
    headers.add(new BasicHeader("Connection", "Keep-Alive"));
    headers.add(new BasicHeader("Authorization", "reslibu"));
    httpClientBuilder.setDefaultHeaders(headers);
    CloseableHttpClient httpClient = httpClientBuilder.build();
    if (httpClient != null) {
        // httpClient??RequestConfig
        HttpComponentsClientHttpRequestFactory clientHttpRequestFactory = new HttpComponentsClientHttpRequestFactory(
                httpClient);
        // 
        clientHttpRequestFactory.setConnectTimeout(60 * 1000);
        // ???SocketTimeout
        clientHttpRequestFactory.setReadTimeout(5 * 60 * 1000);
        // ????
        clientHttpRequestFactory.setConnectionRequestTimeout(5000);
        // ?truePOSTPUT????false?
        // clientHttpRequestFactory.setBufferRequestBody(false);
        // ?
        List<HttpMessageConverter<?>> messageConverters = new ArrayList<>();
        messageConverters.add(new StringHttpMessageConverter(Charset.forName("UTF-8")));
        messageConverters.add(new MappingJackson2HttpMessageConverter());
        messageConverters.add(new FormHttpMessageConverter());
        messageConverters.add(new MappingJackson2XmlHttpMessageConverter());

        RestTemplate restTemplate = new RestTemplate(messageConverters);
        restTemplate.setRequestFactory(clientHttpRequestFactory);
        restTemplate.setErrorHandler(new DefaultResponseErrorHandler());
        return restTemplate;
    } else {
        return null;
    }

}

From source file:org.venice.beachfront.bfapi.geoserver.GeoserverEnvironment.java

/**
 * Invokes initialization logic for Beachfront GeoServer Layer and Style
 *//* w ww  .  j  ava  2s. co m*/
@PostConstruct
public void initializeEnvironment() {
    piazzaLogger.log("Checking to see if installation of GeoServer Detections Layer and Style is required",
            Severity.INFORMATIONAL);

    // Since we're on the startup thread, we want to try to complete quickly. e.g. don't wait for slow connections.
    // Configure a reasonable timeout for the rest client to abort slow requests.
    HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
            this.httpClient);
    requestFactory.setReadTimeout(geoserverTimeout);
    restTemplate.setRequestFactory(requestFactory);

    // Check GeoServer Layer
    {
        // In GeoServer 2.9 layers can't be accessed by workspace, so use the Geoserver base url.
        final String layerURL = String.format("%s/rest/layers/%s:%s.json", getGeoServerBaseUrl(),
                WORKSPACE_NAME, LAYER_NAME);

        if (!doesResourceExist(layerURL)) {
            piazzaLogger.log("GeoServer Layer does not exist; Attempting creation.", Severity.INFORMATIONAL);
            installLayer();
        } else {
            piazzaLogger.log("GeoServer Layer exists and will not be recreated.", Severity.INFORMATIONAL);
        }
    }

    // Check GeoServer Style
    {
        final String styleURL = String.format("%s/styles/%s.json", getWorkspaceBaseUrl(), STYLE_NAME);

        if (!doesResourceExist(styleURL)) {
            piazzaLogger.log("GeoServer Style does not exist; Attempting creation.", Severity.INFORMATIONAL);
            installStyle();
        } else {
            piazzaLogger.log("GeoServer Style exists and will not be recreated.", Severity.INFORMATIONAL);
        }
    }

    // Check GeoServer LayerGroup
    {
        final String layerGroupURL = String.format("%s/layergroups/%s.json", getWorkspaceBaseUrl(),
                LAYER_GROUP_NAME);

        if (!doesResourceExist(layerGroupURL)) {
            piazzaLogger.log("GeoServer Layer Group does not exist; Attempting creation.",
                    Severity.INFORMATIONAL);
            installLayerGroup();
        } else {
            piazzaLogger.log("GeoServer Layer Group exists and will not be recreated.", Severity.INFORMATIONAL);
        }
    }
}