Het was inderdaad een harde noot om te kraken.
Na heel veel onderzoek en het daadwerkelijk debuggen van de spring-boot, spring, hibernate, katerpool, enz. om het voor elkaar te krijgen.
Ik denk dat het veel tijd zal besparen voor mensen die aan dit soort vereisten proberen te voldoen.
Hieronder staan de instellingen die nodig zijn om aan de volgende vereisten te voldoen
- Springboot-apps starten prima, zelfs als DB niet beschikbaar is of als er geen DB is.
- Apps pikken de verbindingen direct op als DB verschijnt, wat betekent dat het niet nodig is om de webserver opnieuw op te starten of de apps opnieuw te implementeren.
- Het is niet nodig om de Tomcat te starten of de apps opnieuw te implementeren, als DB uit de actieve status gaat en weer verschijnt.
applicatie.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