feat(exception): 添加二级系统连接失败异常处理
- 引入 ResourceAccessException 处理器 - 实现二级系统连接失败的特殊错误响应 - 添加 Connection refused 和 sql-server-api 相关错误检测 - 返回 503 状态码并提示二级系统停机 - 记录详细的错误日志信息 - 提供用户友好的错误提示信息
This commit is contained in:
@@ -18,6 +18,7 @@ import org.springframework.web.HttpRequestMethodNotSupportedException;
|
||||
import org.springframework.web.bind.MethodArgumentNotValidException;
|
||||
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||
import org.springframework.web.client.ResourceAccessException;
|
||||
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.validation.ConstraintViolation;
|
||||
@@ -158,6 +159,21 @@ public class GlobalExceptionHandler {
|
||||
return R.fail(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* 二级系统(L2)连接失败
|
||||
*/
|
||||
@ExceptionHandler(ResourceAccessException.class)
|
||||
public R<Void> handleResourceAccessException(ResourceAccessException e, HttpServletRequest request) {
|
||||
String requestURI = request.getRequestURI();
|
||||
String message = e.getMessage();
|
||||
if (message != null && (message.contains("Connection refused") || message.contains("sql-server-api"))) {
|
||||
log.error("请求地址'{}', 二级系统连接失败'{}'", requestURI, message);
|
||||
return R.fail(503, "二级系统状态异常,已停机,请稍后重试或联系管理员确认");
|
||||
}
|
||||
log.error("请求地址'{}', 资源访问异常", requestURI, e);
|
||||
return R.fail("服务连接异常,请稍后重试");
|
||||
}
|
||||
|
||||
/**
|
||||
* 演示模式异常
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user