paulwong

          httpClient Connection Pool使用的正確姿勢

          import java.util.concurrent.TimeUnit;

          import org.apache.http.client.config.RequestConfig;
          import org.apache.http.impl.client.CloseableHttpClient;
          import org.apache.http.impl.client.HttpClients;
          import org.apache.http.impl.conn.PoolingHttpClientConnectionManager;
          import org.springframework.context.annotation.Bean;
          import org.springframework.context.annotation.Configuration;


          @Configuration
          public class HttpClientConfiguration {
              
              
              @Bean
                public PoolingHttpClientConnectionManager poolingHttpClientConnectionManager() {
                  PoolingHttpClientConnectionManager result = 
                          new PoolingHttpClientConnectionManager(5, TimeUnit.MINUTES);
                  result.setMaxTotal(20);
                  result.setDefaultMaxPerRoute(20);
                  return result;
                }

                @Bean
                public RequestConfig requestConfig(KycProperties kycProperties) {
                    return RequestConfig
                                  .custom()
                                .setConnectionRequestTimeout(kycProperties.getHttpConnectionTimeout())
                                .setConnectTimeout(kycProperties.getHttpConnectionTimeout())
                                .setSocketTimeout(kycProperties.getHttpConnectionTimeout())
                                .build();
                }

                @Bean
                public CloseableHttpClient httpClient(PoolingHttpClientConnectionManager poolingHttpClientConnectionManager, RequestConfig requestConfig) {
                    return HttpClients
                                .custom()
                                .setConnectionManager(poolingHttpClientConnectionManager)
                                .setDefaultRequestConfig(requestConfig)
                                .build();
                }

          }

          Troubleshooting Spring's RestTemplate Requests Timeout
          https://tech.asimio.net/2016/12/27/Troubleshooting-Spring-RestTemplate-Requests-Timeout.html a

          httpclient超時重試記錄
          https://blog.csdn.net/wanghao112956/article/details/102967930

          posted on 2020-12-29 09:36 paulwong 閱讀(1196) 評論(0)  編輯  收藏 所屬分類: HTTPCLIENT

          主站蜘蛛池模板: 宝坻区| 南阳市| 贵港市| 忻城县| 和静县| 喜德县| 陈巴尔虎旗| 鄂州市| 崇明县| 天门市| 海南省| 澄江县| 鹤壁市| 龙里县| 柳州市| 偃师市| 阿坝县| 临高县| 新泰市| 龙泉市| 武川县| 阿克苏市| 子长县| 陆丰市| 蓬莱市| 射阳县| 二手房| 德庆县| 西林县| 偃师市| 容城县| 惠东县| 宽城| 田林县| 金平| 岳阳市| 万山特区| 锡林郭勒盟| 锦屏县| 巴彦县| 庐江县|