To był naprawdę trudny orzech do zgryzienia.
Po wielu badaniach i faktycznie debugowaniu Spring-boot, spring, hibernate, tomcat pool itp., aby to zrobić.
Myślę, że zaoszczędzi to dużo czasu osobom próbującym spełnić tego typu wymagania.
Poniżej znajdują się ustawienia wymagane do spełnienia następującego wymagania
- Aplikacje do rozruchu wiosennego będą się dobrze uruchamiać, nawet jeśli DB nie działa lub nie ma DB.
- Aplikacje będą odbierać połączenia w locie, gdy pojawi się DB, co oznacza, że nie ma potrzeby ponownego uruchamiania serwera WWW ani ponownego wdrażania aplikacji.
- Nie ma potrzeby uruchamiania tomcata ani ponownego wdrażania aplikacji, jeśli DB przestanie działać i ponownie się pojawi.
aplikacja.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