用RestTemplate上传图片发现请求经常超时,修改了下ClientHttpRequestFactory明显有所改善。mark下,具体见代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
|
public class {
@Autowired private HttpLogInterceptor httpLogInterceptor;
@Bean public RestTemplate restTemplate() { RestTemplate restTemplate = new RestTemplate(); restTemplate.setRequestFactory(clientHttpRequestFactory()); restTemplate.setInterceptors(Collections.singletonList(httpLogInterceptor)); return restTemplate; }
@Bean public HttpClientConnectionManager poolingConnectionManager() { PoolingHttpClientConnectionManager poolingConnectionManager = new PoolingHttpClientConnectionManager(); poolingConnectionManager.setMaxTotal(Runtime.getRuntime().availableProcessors()*2); poolingConnectionManager.setDefaultMaxPerRoute(Runtime.getRuntime().availableProcessors()*2); return poolingConnectionManager; }
@Bean public HttpClientBuilder httpClientBuilder() { HttpClientBuilder httpClientBuilder = HttpClientBuilder.create(); httpClientBuilder.setConnectionManager(poolingConnectionManager()); return httpClientBuilder; }
@Bean public ClientHttpRequestFactory clientHttpRequestFactory() { OkHttp3ClientHttpRequestFactory clientHttpRequestFactory = new OkHttp3ClientHttpRequestFactory(); clientHttpRequestFactory.setConnectTimeout(1000); clientHttpRequestFactory.setWriteTimeout(10000); clientHttpRequestFactory.setReadTimeout(10000); return clientHttpRequestFactory; }
}
|
近期评论