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 

  • 相关阅读:
    Explain执行计划
    SQL优化(SQL + 索引)
    SQL(含索引)
    分组聚合 merger
    服务分组 group
    多注册中心 registry
    多协议 protocol
    常用协议 —— webservice://
    常用协议 —— http://
    最强AngularJS资源合集
  • 原文地址:https://www.cnblogs.com/softidea/p/6211131.html
Copyright © 2011-2022 走看看