如何在获取 mysql 数据源时让 spring 引导重试?

how do I get spring boot to retry when getting mysql dataSource?

所以我在 docker compose 中有一个 spring 启动应用程序,它依赖于一个 mysql 容器,问题是它试图在 [=20] 之前打开一个连接=] 容器准备就绪,它崩溃了。

我发现我可以使用

spring.datasource.hikari.initializationFailTimeout=0

在我的 application.properties 中,但似乎只是让它在崩溃前等待几秒钟,有什么想法吗?

请将其添加到您的 docker 容器配置 restart: unless-stopped

google:'Unless-stopped'仅在任何用户执行停止容器的命令时才重启容器,而不是因为错误而失败。 'Always' 重新启动容器,无论它是由错误引起的,还是由用户执行的,或者如果 Docker 重新启动