如何处理假客户端连接超时

时间:2020-02-12 03:34:44

标签: spring timeout feign

我有下面的代码来检查此错误,但我没有收到超时错误,提示它会转到其他情况

Response response = null;
        try {
            response = client.getResponse(URI.create(uri), headers, reuest);
        } catch (Exception ex) {

            if(ex instanceof SocketTimeoutException){
                throw new ExternalClientException(Errors.TIMEOUT_ERROR);
            } else {
                throw new ExternalClientException(Errors.UNEXPECTED_ERROR);
            }
        }

2 个答案:

答案 0 :(得分:0)

请发送课程的所有代码。您需要提供“客户”变量类,以便人们提供帮助。

还有一件事情,而不是在“ catch”子句中检查异常实例,您应该使用多次捕获,如下所示:

Response response = null;
try {
    response = client.getResponse(URI.create(uri), headers, reuest);
} catch (SocketTimeoutException ex1) {
    throw new ExternalClientException(Errors.TIMEOUT_ERROR, ex1);
} catch (Exception ex2) {
    throw new ExternalClientException(Errors.UNEXPECTED_ERROR, ex2);
}

答案 1 :(得分:0)

您需要捕获feign.RetryableException而不是SocketTimeoutException

javadoc

相关问题