您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

apache http客户端org.apache.http.NoHttpResponseException:目标服务器无法响应

apache http客户端org.apache.http.NoHttpResponseException:目标服务器无法响应

我从这里浏览了链接,并得到以下答案:获得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中使用它。

其他 2022/1/1 18:16:14 有469人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶