यह वास्तव में क्रैक करने के लिए एक कठिन अखरोट था।
बहुत सारे शोध के बाद और वास्तव में इसे पूरा करने के लिए स्प्रिंग-बूट, स्प्रिंग, हाइबरनेट, टॉमकैट पूल आदि को डिबग करना।
मुझे लगता है कि इस प्रकार की आवश्यकता को प्राप्त करने की कोशिश कर रहे लोगों के लिए यह बहुत समय बचाएगा।
निम्नलिखित आवश्यकता को प्राप्त करने के लिए आवश्यक सेटिंग्स नीचे दी गई हैं
- डीबी डाउन होने या डीबी न होने पर भी स्प्रिंग बूट ऐप्स ठीक शुरू हो जाएंगे।
- डीबी के आने पर ऐप्स तुरंत कनेक्शन ले लेंगे, जिसका अर्थ है कि वेब सर्वर को पुनरारंभ करने या ऐप्स को फिर से तैनात करने की कोई आवश्यकता नहीं है।
- यदि डीबी चालू स्थिति से नीचे चला जाता है और फिर से ऊपर आता है, तो टॉमकैट शुरू करने या ऐप्स को फिर से तैनात करने की कोई आवश्यकता नहीं है।
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