【问题标题】:Catching JDBCConnectionExceptions in Spring boot在 Spring Boot 中捕获 JDBCConnectionExceptions
【发布时间】:2019-03-15 04:20:48
【问题描述】:

在使用 hikari 处理数据库连接的 Spring Boot 中,我想捕获 JDBCConnectionException 异常或任何其他休眠级别异常,以便在发生这种情况时生成通知。我配置了一个@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 数据存储库来访问 db。

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.

【问题讨论】:

  • 嗨@GhostCat 我不太确定,如何为此提供更多详细信息。我可以给出我的异常处理程序的代码 sn-p 但它不会对 IMO 有任何帮助。
  • @aravindaM 仅通过查看日志很难理解问题。发布代码肯定会有所帮助

标签: java spring-boot spring-data-jpa spring-data hikaricp


【解决方案1】:

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

【讨论】:

  • 谢谢@vinay-avasthi。可惜不能这样做。
猜你喜欢
  • 2021-03-26
  • 2018-12-12
  • 1970-01-01
  • 2023-03-30
  • 2019-09-14
  • 2021-07-18
  • 2018-09-02
  • 2020-12-03
  • 2022-07-13
相关资源
最近更新 更多