Това наистина беше твърд орех за разбиване.
След много и много изследвания и действително отстраняване на грешки в spring-boot, spring, hibernate, tomcat pool и т.н., за да го направите.
Мисля, че това ще спести много време на хората, които се опитват да постигнат този тип изискване.
По-долу са посочени настройките, необходими за постигане на следното изискване
- Приложенията за пролетно стартиране ще стартират добре, дори ако DB не работи или няма DB.
- Приложенията ще приемат връзките в движение, когато DB се появи, което означава, че няма нужда от рестартиране на уеб сървъра или повторно разгръщане на приложенията.
- Няма нужда да стартирате tomcat или да разгръщате отново приложенията, ако DB излезе от състояние на работа и се появи отново.
application.yml :
spring:
datasource:
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://localhost:3306/schema
username: root
password: root
continueOnError: true
initialize: false
initialSize: 0
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 5000
minIdle: 0
jpa:
show-sql: true
hibernate:
ddl-auto: none
naming_strategy: org.hibernate.cfg.DefaultNamingStrategy
properties:
hibernate:
dialect: org.hibernate.dialect.MySQL5Dialect
hbm2ddl:
auto: none
temp:
use_jdbc_metadata_defaults: false