首先:这不是重复的问题。
4.5年前,另一个用户wrote (on Stackoverflow.com)要求他的Spring Boot Application即使数据库关闭也应该能够启动。他在Hibernate 4中使用了Spring Boot Application1。我现在在Hibernate 5中使用Spring Boot Application 2,也遇到了同样的问题。我试图为Hibernate 4应用检查后的答案,但这不适用于我的应用程序。
是否仍然可以在不依赖数据库的情况下启动它?以下是(已编辑的)休眠5 -属性(application.yml
):
spring:
datasource:
url: jdbc:mysql://localhost/schema?serverTimezone=UTC
username: root
password: root
continue-on-error: true
initialization-mode: never
tomcat:
initial-size: 0
time-between-eviction-runs-millis: 5000
min-evictable-idle-time-millis: 5000
min-idle: 0
jpa:
show-sql: true
hibernate:
ddl-auto: none
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL5Dialect
hbm2ddl:
auto: none
temp:
use_jdbc_metadata_defaults: false
我的问题已被标记为“可能重复”。提供的可能答案根本不是可能的答案。如我所写,我被要求(这是一项要求)不要使用任何其他数据库,即使是H2。因此,问题出在EntityManagerFactory Bean(以及数据源)上。如果创建失败,则应用程序无法启动。就是这样。
答案 0 :(得分:0)
我知道这个问题已经很老了,但是我以这种方式解决了这个问题(对于使用Hikari的人)。
我将这两行添加到application.properties
:
spring.datasource.hikari.initialization-fail-timeout=-1
spring.datasource.hikari.connection-timeout=0
第一行对于Hikari(https://github.com/brettwooldridge/HikariCP)的文档很明显。据写,对于第二行,允许值在250- *之间。但是我使用零值,它开始按预期工作。