From 9d4a5afb4960c363e8f082ae56586ae2db0d737c Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 18 May 2026 09:53:35 +0800 Subject: [PATCH] =?UTF-8?q?feat(exception):=20=E6=B7=BB=E5=8A=A0=E4=BA=8C?= =?UTF-8?q?=E7=BA=A7=E7=B3=BB=E7=BB=9F=E8=BF=9E=E6=8E=A5=E5=A4=B1=E8=B4=A5?= =?UTF-8?q?=E5=BC=82=E5=B8=B8=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 引入 ResourceAccessException 处理器 - 实现二级系统连接失败的特殊错误响应 - 添加 Connection refused 和 sql-server-api 相关错误检测 - 返回 503 状态码并提示二级系统停机 - 记录详细的错误日志信息 - 提供用户友好的错误提示信息 --- .../web/exception/GlobalExceptionHandler.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/klp-framework/src/main/java/com/klp/framework/web/exception/GlobalExceptionHandler.java b/klp-framework/src/main/java/com/klp/framework/web/exception/GlobalExceptionHandler.java index cec8ee50..7020d516 100644 --- a/klp-framework/src/main/java/com/klp/framework/web/exception/GlobalExceptionHandler.java +++ b/klp-framework/src/main/java/com/klp/framework/web/exception/GlobalExceptionHandler.java @@ -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 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("服务连接异常,请稍后重试"); + } + /** * 演示模式异常 */