C'était en effet une noix difficile à casser.
Après de nombreuses recherches et débogage du spring-boot, spring, hibernate, tomcat pool, etc. pour le faire.
Je pense que cela fera gagner beaucoup de temps aux personnes qui essaient d'atteindre ce type d'exigence.
Vous trouverez ci-dessous les paramètres requis pour atteindre l'exigence suivante
- Les applications de démarrage Spring démarreront correctement même si la base de données est en panne ou s'il n'y a pas de base de données.
- Les applications capteront les connexions à la volée au fur et à mesure que la base de données s'ouvrira, ce qui signifie qu'il n'est pas nécessaire de redémarrer le serveur Web ou de redéployer les applications.
- Il n'est pas nécessaire de démarrer le tomcat ou de redéployer les applications, si la base de données passe de l'état d'exécution et se rallume.
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