java - 连接超时在 HttpClient 中不起作用
问题描述
我在我的 java 代码中使用 HttpClient 4.3.6 进行 POST HTTP 调用。我在通话后收到 504 网关超时错误,因此我使用以下 2 种方法设置了连接超时:
1--------
RequestConfig requestConfig =
RequestConfig.custom().setConnectTimeout(180 * 1000).build();
final HttpClient httpClient =
HttpClientBuilder.create().setDefaultRequestConfig(requestConfig).build();
final HttpClient httpClient = HttpClientBuilder.create().build();
final HttpPost postRequest = new HttpPost(utility.getUrl());
2---------
final HttpClient httpClient = HttpClientBuilder.create().build();
final HttpPost postRequest = new HttpPost(utility.getUrl());
RequestConfig rc = RequestConfig.DEFAULT;
RequestConfig requestConfig =
RequestConfig
.copy(rc)
.setSocketTimeout(180 * 1000)
.setConnectTimeout(180 * 1000)
.setConnectionRequestTimeout(180 * 1000)
.build();
postRequest.setConfig(requestConfig);
在尝试上述方法超时 3 分钟后,如果 POST 响应超过 1 分钟,我会收到 504 超时。不是等到3分钟。请告诉我是否在这里做错了。
解决方案
推荐阅读
- java - 使用 OpenOffice java api 保存文档会引发异常
- python - 如何对列表列表中的向量数组求和?
- amazon-s3 - Terraform`aws_iam_policy_document`数据块中多个条件的正确语法是什么
- jboss - 创建数据源时无法识别区域设置错误(与 oracle db 连接)
- swift - 使用 Alamofire 5.0 swift 5 从 UIImagePickerController 将图像上传到服务器
- neo4j - 任何限制节点结果的方法
- javascript - GTM 增强型电子商务 - 未捕获的类型错误:无法读取未定义的属性“购买”
- angular - 离子/角度中 FormGroup 中的输入字段存在问题
- java - 本地通知侦听器未执行操作
- c# - 如何从在 startup.cs 中构建 serviceProvider 的类库中获取 IServiceProvider?