gpt4 book ai didi

java - 在 Spring boot 中捕获 JDBCConnectionException

转载 作者:行者123 更新时间:2023-12-02 10:08:18 24 4
gpt4 key购买 nike

在使用 hikari 处理数据库连接的 Spring 启动中,我想捕获 JDBCConnectionException 异常或任何其他 hibernate 级别异常,以便我可以在发生这种情况时生成通知。我配置了一个 @ControllerAdvice,但是似乎它没有达到该级别,但已提前处理。

@Order(Ordered.HIGHEST_PRECEDENCE)
@ControllerAdvice
public class ExceptionTranslator {

@ExceptionHandler(JDBCConnectionException.class)
public void handleJdbcConnectionException(JDBCConnectionException ex, HttpServletResponse response) throws IOException {
response.sendError(HttpStatus.INTERNAL_SERVER_ERROR.value(), ex.getMessage());
}

我正在使用 spring 数据存储库来访问数据库。

WARN |PoolBase                      |2d33dd4e-46d6-11e9-9d35-2f44d962868c|conf-hikari-pool - Failed to validate connection ConnectionID:1 ClientConnectionId: 1f1135cd-94bf-4543-bfe8-687e10a40797 (The connection is closed.). Possibly consider using a shorter maxLifetime value.
WARN |PoolBase |2d33dd4e-46d6-11e9-9d35-2f44d962868c|conf-hikari-pool - Failed to validate connection ConnectionID:2 ClientConnectionId: 28890cd1-16ad-43f9-b240-a9ae3aa2d45f (The connection is closed.). Possibly consider using a shorter maxLifetime value.
WARN |SqlExceptionHelper |2d33dd4e-46d6-11e9-9d35-2f44d962868c|SQL Error: 0, SQLState: null
ERROR|SqlExceptionHelper |2d33dd4e-46d6-11e9-9d35-2f44d962868c|conf-hikari-pool - Connection is not available, request timed out after 6010ms.
ERROR|SqlExceptionHelper |2d33dd4e-46d6-11e9-9d35-2f44d962868c|The connection is closed.

最佳答案

您给出的代码示例将仅捕获 REST 调用流中引发的异常。许多 spring-data 异常是在数据库提交期间 REST 调用返回后引发的。不可能以这种方式抛出这些异常。处理这些错误的最佳方法是查看日志,将它们推送到 Splunk 之类的地方并在那里生成警报。

关于java - 在 Spring boot 中捕获 JDBCConnectionException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55175512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com