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

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

Introduction

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

Prototype

public HttpComponentsClientHttpRequestFactory(HttpClient httpClient) 

Source Link

Document

Create a new instance of the HttpComponentsClientHttpRequestFactory with the given HttpClient instance.

Usage

From source file:com.sitewhere.groovy.device.communication.rest.RestHelper.java

/**
 * Removes requirement for valid certificate on server.
 * //  ww  w . java 2s .  co m
 * @return
 */
protected ClientHttpRequestFactory createSecureTransport() {
    HostnameVerifier nullHostnameVerifier = new HostnameVerifier() {
        public boolean verify(String hostname, SSLSession session) {
            return true;
        }
    };

    HttpClient client = HttpClientBuilder.create().setSSLHostnameVerifier(nullHostnameVerifier)
            .setSSLContext(createContext()).build();

    HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(client);

    return requestFactory;
}

From source file:ingest.Application.java

@Bean
public RestTemplate restTemplate() {
    RestTemplate restTemplate = new RestTemplate();
    HttpClient httpClient = HttpClientBuilder.create().setMaxConnTotal(httpMaxTotal)
            .setMaxConnPerRoute(httpMaxRoute).setKeepAliveStrategy(new ConnectionKeepAliveStrategy() {
                @Override//from   w ww  .  j a va  2  s.  co  m
                public long getKeepAliveDuration(HttpResponse response, HttpContext context) {
                    HeaderElementIterator it = new BasicHeaderElementIterator(
                            response.headerIterator(HTTP.CONN_KEEP_ALIVE));
                    while (it.hasNext()) {
                        HeaderElement headerElement = it.nextElement();
                        String param = headerElement.getName();
                        String value = headerElement.getValue();
                        if (value != null && param.equalsIgnoreCase("timeout")) {
                            return Long.parseLong(value) * 1000;
                        }
                    }
                    return (long) 5 * 1000;
                }
            }).build();
    restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory(httpClient));
    return restTemplate;
}

From source file:org.springframework.xd.shell.command.ConfigCommands.java

@CliCommand(value = { "admin config server" }, help = "Configure the XD admin server to use")
public String target(@CliOption(mandatory = false, key = { "",
        "uri" }, help = "the location of the XD Admin REST endpoint", unspecifiedDefaultValue = Target.DEFAULT_TARGET) String targetUriString,
        @CliOption(mandatory = false, key = {
                "username" }, help = "the username for authenticated access to the Admin REST endpoint", unspecifiedDefaultValue = Target.DEFAULT_USERNAME) String targetUsername,
        @CliOption(mandatory = false, key = {
                "password" }, help = "the password for authenticated access to the Admin REST endpoint (valid only with a username)", specifiedDefaultValue = Target.DEFAULT_SPECIFIED_PASSWORD, unspecifiedDefaultValue = Target.DEFAULT_UNSPECIFIED_PASSWORD) String targetPassword) {

    try {/*from  ww  w . j a v  a2s .co  m*/
        if (!StringUtils.isEmpty(targetPassword) && StringUtils.isEmpty(targetUsername)) {
            return "A password may be specified only together with a username";
        }
        if (Target.DEFAULT_SPECIFIED_PASSWORD.equalsIgnoreCase(targetPassword)
                && !StringUtils.isEmpty(targetUsername)) {
            // read password from the command line
            targetPassword = userInput.prompt("Password", "", false);
        }
        configuration.setTarget(new Target(targetUriString, targetUsername, targetPassword));
        if (configuration.getTarget().getTargetCredentials() != null) {
            BasicCredentialsProvider credentialsProvider = new BasicCredentialsProvider();
            credentialsProvider.setCredentials(AuthScope.ANY,
                    new UsernamePasswordCredentials(
                            configuration.getTarget().getTargetCredentials().getUsername(),
                            configuration.getTarget().getTargetCredentials().getPassword()));
            CloseableHttpClient httpClient = HttpClientBuilder.create()
                    .setDefaultCredentialsProvider(credentialsProvider).build();
            HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(
                    httpClient);
            this.xdShell.setSpringXDOperations(
                    new SpringXDTemplate(requestFactory, configuration.getTarget().getTargetUri()));
        } else {
            this.xdShell.setSpringXDOperations(new SpringXDTemplate(configuration.getTarget().getTargetUri()));
        }
        configuration.getTarget().setTargetResultMessage(
                String.format("Successfully targeted %s", configuration.getTarget().getTargetUri()));
    } catch (Exception e) {
        configuration.getTarget().setTargetException(e);
        this.xdShell.setSpringXDOperations(null);
        configuration.getTarget().setTargetResultMessage(
                String.format("Unable to contact XD Admin Server at '%s'.", targetUriString));
        if (logger.isTraceEnabled()) {
            logger.trace(configuration.getTarget().getTargetResultMessage(), e);
        }
    }

    return configuration.getTarget().getTargetResultMessage();
}

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   ww w.j a v  a2  s  .  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: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 ww. j  ava  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());

    return restTemplate;
}

From source file:org.cloudfoundry.identity.uaa.login.util.LocalUaaRestTemplate.java

protected void skipSslValidation() throws KeyStoreException, NoSuchAlgorithmException, KeyManagementException {
    SSLContext sslContext = new SSLContextBuilder().loadTrustMaterial(null, new TrustSelfSignedStrategy())
            .build();//from  www. ja  va 2s  .co m
    CloseableHttpClient httpClient = HttpClients.custom().setSslcontext(sslContext).build();
    ClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(httpClient);
    this.setRequestFactory(requestFactory);
}

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);//w  w w  .j av a2s.  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());

    reInitMessageConverter(restTemplate);

    return restTemplate;
}

From source file:com.rsa.redchallenge.standaloneapp.utils.RestInteractor.java

private static void setFactory(RestTemplate restTemplate) {
    //  if (configuration.getActivationServerPath().contains("https://"))
    restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory(getHttpClient()));
}

From source file:ru.anr.base.facade.web.api.RestClient.java

/**
 * Special initialization of {@link RestTemplate} - used to apply some
 * settings for existing RestTemplates.// ww w.j a v  a  2  s.  co  m
 * 
 * @param template
 *            {@link RestTemplate} or its
 * @return Updated RestTemplate
 */
public RestTemplate initRest(RestTemplate template) {

    // 1. Set up ssl settings
    HttpClient client = "https".equals(schema) ? buildSSLClient()
            : HttpClients.custom().setDefaultCookieStore(store).build();

    template.setRequestFactory(new HttpComponentsClientHttpRequestFactory(client) {

        @Override
        protected void postProcessHttpRequest(HttpUriRequest request) {

            super.postProcessHttpRequest(request);
        }

    });

    // 2. Error handler
    template.setErrorHandler(new DefaultResponseErrorHandler());

    return template;
}

From source file:org.springframework.cloud.dataflow.rest.util.HttpClientConfigurer.java

public ClientHttpRequestFactory buildClientHttpRequestFactory() {
    if (useBasicAuth && targetHost != null) {
        return new PreemptiveBasicAuthHttpComponentsClientHttpRequestFactory(buildHttpClient(), targetHost);
    } else {/*from   ww w .  j ava  2s  .com*/
        return new HttpComponentsClientHttpRequestFactory(buildHttpClient());
    }
}