我从这里浏览了链接,并得到以下答案:
获得NoHttpResponseException以进行负载测试
那使我走上了正确的道路。要稍微更新一下答案,这里是使用当前http-client 4.5 API的解决方案:
private final HttpComponentsClientHttpRequestFactory requestFactory = new HttpComponentsClientHttpRequestFactory(createHttpClient());private CloseableHttpClient createHttpClient() { return HttpClients.custom().setRetryHandler((exception, executionCount, context) -> { if (executionCount > 3) { LOGGER.warn("Maximum tries reached for client http pool "); return false; } if (exception instanceof org.apache.http.NoHttpResponseException) { LOGGER.warn("No response from server on " + executionCount + " call"); return true; } return false; }).build();}
我在那里也使用spring-web,所以我将客户端用作RestTemplate工厂的参数,因为我希望在RestTemplate中使用它。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)