Dies wird von den anderen Beiträgen irgendwie halb beantwortet, und ich wollte sehr explizit sein. Außerdem wollte ich mehr Spring-Boot-artig sein. Fühlen Sie sich frei, die Zeitintervalle nach Bedarf zu ändern.
Option 1:Schlechte Verbindungen aus dem Pool werfen.
Verwenden Sie diese Eigenschaften:
spring.datasource.test-on-borrow=true
spring.datasource.validation-query=SELECT 1;
spring.datasource.validation-interval=30000
Option 2:Verbindungen im Pool am Leben erhalten.
Verwenden Sie diese Eigenschaften:
spring.datasource.test-while-idle=true
spring.datasource.validation-query=SELECT 1;
spring.datasource.time-between-eviction-runs-millis=60000
Option 3:Inaktive Verbindungen proaktiv verwerfen.
Verwenden Sie diese Eigenschaften (Hinweis:Ich konnte keine zuverlässige Dokumentation für Spring Boot finden. Auch das Timeout ist in Sekunden, nicht in Millisekunden):
spring.datasource.remove-abandoned=true
spring.datasource.remove-abandoned-timeout=60
Viel Spaß beim Booten!