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

          主站蜘蛛池模板: 建德市| 贡觉县| 瑞金市| 永嘉县| 商洛市| 琼中| 武宣县| 上蔡县| 永顺县| 安康市| 泽普县| 象山县| 建瓯市| 云霄县| 崇义县| 丰县| 瓦房店市| 福建省| 淮阳县| 松江区| 津南区| 丹巴县| 社旗县| 定州市| 天柱县| 淅川县| 克什克腾旗| 巴彦县| 长寿区| 南城县| 蓝田县| 讷河市| 饶平县| 泽州县| 九龙坡区| 武乡县| 忻州市| 周宁县| 海南省| 阳西县| 九龙坡区|