Itu memang kacang yang sulit untuk dipecahkan.
Setelah banyak dan banyak penelitian dan benar-benar men-debug spring-boot, spring, hibernate, Tomcat pool, dll untuk menyelesaikannya.
Saya pikir ini akan menghemat banyak waktu bagi orang-orang yang mencoba mencapai persyaratan seperti ini.
Di bawah ini adalah pengaturan yang diperlukan untuk mencapai persyaratan berikut
- Aplikasi booting musim semi akan berjalan dengan baik meskipun DB sedang down atau tidak ada DB.
- Aplikasi akan mengambil koneksi dengan cepat saat DB muncul, yang berarti tidak perlu memulai ulang server web atau menerapkan ulang aplikasi.
- Tidak perlu memulai Tomcat atau menerapkan ulang aplikasi, jika DB turun dari status berjalan dan muncul lagi.
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