gpt4 book ai didi

java - Spring Boot中等待数据库连接无一异常(exception)

转载 作者:行者123 更新时间:2023-12-04 17:19:39 26 4
gpt4 key购买 nike

我想用 Spring Boot 创建一个微服务。对于持久性,我使用 mariadb 数据库。为了等待在 docker 容器中运行的数据库,我实现了如下所示的代码 here :

@Bean
public DatabaseStartupValidator databaseStartupValidator(DataSource dataSource) {
var dsv = new DatabaseStartupValidator();
dsv.setDataSource(dataSource);
dsv.setTimeout(60);
dsv.setInterval(7);
dsv.setValidationQuery(DatabaseDriver.MYSQL.getValidationQuery());
return dsv;
}
代码运行良好,我的应用程序现在正在等待数据库连接。但我在应用程序启动时遇到异常:
java.sql.SQLNonTransientConnectionException: Could not connect to Host ....
...
...
...
在下一行我得到一个信息,它将等待数据库: 021-04-07 21:29:40.816 INFO 16569 --- [ main] o.s.j.support.DatabaseStartupValidator : Database has not started up yet - retrying in 7 seconds (timeout in 57.65 seconds)之后,应用程序按预期启动。所以我认为一切正常,但我必须做些什么来抑制异常?在链接中 article它应该无一异常(exception)地工作。我是否必须实现“dependsOnPostProcessor”功能?我必须使用哪个依赖项?抱歉,可能是个愚蠢的问题,我是 Spring Boot 的新手。

最佳答案

要摆脱该异常,您可以在 application.properties 中声明以下指令文件:

logging.level.com.zaxxer.hikari=OFF
请记住,如果应用程序无法与数据库取得联系,您的 Spring 会在一段时间后由于该异常而崩溃。此外,上述指令会阻止您查看与 Hikari 相关的任何日志记录 Activity 。
总之,您可以隐藏异常的外观,直到应用程序因超时而死亡之前成为可能。
希望我澄清了一点

关于java - Spring Boot中等待数据库连接无一异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66993064/

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