如何解决在HttpClient 4.5.5中设置超时不起作用
我使用httpclient版本4.5.5作为Maven依赖项并设置了默认超时。我正在执行jenkins请求。有时不确定为什么服务器无法响应(这是由于HttpClient吗?)以及默认值超时不起作用,结果挂起。我浏览了几页,知道httpclient 4.5.5版本存在问题,还尝试了Stackover流中的一些建议,但是它们都没有起作用。有人可以帮我吗? https://issues.apache.org/jira/browse/HTTPCLIENT-1478这对我没有帮助
public class MyClass{
public class classthatIsCalledFirst(){
this.httpClient = getHttpClient();
}
public final HttpClient getHttpClient() {
return getHttpClient(180000);
}
private CloseableHttpClient getHttpClient(int timeoutInMillis) {
RequestConfig.Builder requestBuilder = RequestConfig.custom();
requestBuilder = requestBuilder.setConnectTimeout(timeoutInMillis);
requestBuilder = requestBuilder.setConnectionRequestTimeout(timeoutInMillis);
return HttpClientBuilder
.create()
.setDefaultRequestConfig(requestBuilder.build())
.build();
}
static ResponseAndCode executeRequest(HttpClient client,final HttpUriRequest request) {
try {
ResponseAndCode result = new ResponseAndCode();
HttpResponse httpResponse = client.execute(request);
byte[] response = EntityUtils.toByteArray(httpResponse.getEntity());
result.code = httpResponse.getStatusLine().getStatusCode();
result.responseText = new String(response);
return result;
} catch (IOException e) {
throw Throwables.propagate(e);
}
}
}
Maven依赖
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.5</version>
</dependency>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。