Detta är typ halvbesvarat av de andra inläggen och jag ville vara väldigt tydlig. Jag ville också vara mer Spring-Boot-esque. Ändra gärna tidsintervallen vid behov.
Alternativ 1:Kasta ut trasiga anslutningar från poolen.
Använd dessa egenskaper:
spring.datasource.test-on-borrow=true
spring.datasource.validation-query=SELECT 1;
spring.datasource.validation-interval=30000
Alternativ 2:Håll anslutningarna i poolen vid liv.
Använd dessa egenskaper:
spring.datasource.test-while-idle=true
spring.datasource.validation-query=SELECT 1;
spring.datasource.time-between-eviction-runs-millis=60000
Alternativ 3:Kasta proaktivt ut lediga anslutningar.
Använd dessa egenskaper (Obs! Jag kunde inte hitta tillförlitlig dokumentation om denna för Spring Boot. Timeouten är också i sekunder och inte millisekunder):
spring.datasource.remove-abandoned=true
spring.datasource.remove-abandoned-timeout=60
Lycka till med start!