问题描述
我使用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 (将#修改为@)