割るのは確かに大変でした。
たくさんの調査を行い、実際にスプリングブート、スプリング、休止状態、Tomcatプールなどをデバッグして、それを実行した後。
この種の要件を達成しようとする人々にとっては、多くの時間を節約できると思います。
以下は、以下の要件を満たすために必要な設定です
- DBがダウンしているか、DBがない場合でも、Springブートアプリは正常に起動します。
- DBが起動すると、アプリはその場で接続を取得します。つまり、ウェブサーバーを再起動したり、アプリを再デプロイしたりする必要はありません。
- DBが実行状態からダウンして再び起動した場合でも、Tomcatを起動したりアプリを再デプロイしたりする必要はありません。
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