zoukankan      html  css  js  c++  java
  • Using RestTemplate, how to send the request to a proxy first so I can use my junits with JMeter?



    HttpComponentsClientHttpRequestFactory

    If you are using Spring MVC's RestTemplate to make REST calls, it is important to realize that it doesn't use HTTP connection pooling of any kind, and will establish and close a connection every time you make a REST call.

    If you want to use connection pooling, you would need to provide another implementation of ClientHttpRequestFactory. A good option is to use the org.springframework.http.client.HttpComponentsClientHttpRequestFactory() which is provided with Spring.

    new org.springframework.web.client.RestTemplate(new HttpComponentsClientHttpRequestFactory())
    Of course, if you look up the documentation for HttpComponentsClientHttpRequestFactory, you can configure a lot of the connection pooling parameters.

    https://coderwall.com/p/dcohra/connection-pooling-with-spring-resttemplate

    http://stackoverflow.com/questions/25698072/simpleclienthttprequestfactory-vs-httpcomponentsclienthttprequestfactory-for-htt

    org.springframework.http.client.SimpleClientHttpRequestFactory

    java.net.Proxy

    java.net.Proxy.Type

    java.net.InetSocketAddress

    org.springframework.web.client.RestTemplate

    @Bean
    public RestTemplate restTemplate() {
        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
    
        Proxy proxy= new Proxy(Type.HTTP, new InetSocketAddress("my.host.com", 8080));
        requestFactory.setProxy(proxy);
    
        return new RestTemplate(requestFactory);
    }
    

    put these lines before calling your get or post method. so proxy get set .

        HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory();
        DefaultHttpClient httpClient = (DefaultHttpClient) requestFactory.getHttpClient();
        HttpHost proxy = new HttpHost("proxtserver", port);
        httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY,proxy);
        restTemplate.setRequestFactory(requestFactory);

    http://stackoverflow.com/questions/3687670/using-resttemplate-how-to-send-the-request-to-a-proxy-first-so-i-can-use-my-jun 

  • 相关阅读:
    ThinkInJava4读书笔记之第二章一切都是对象
    工具类Excel相关处理
    工具类ID生成器工具类
    工具类获取地址
    工具类反射工具类
    工具类Md5加密方法
    工具类通用http工具封装
    工具类Base64工具类
    工具类通用http发送方法
    工具类spring工具类 方便在非spring管理环境中获取bean
  • 原文地址:https://www.cnblogs.com/softidea/p/6211131.html
Copyright © 2011-2022 走看看