Приложение Spring Boot использует MySQL + C3p0 DataSource
.
Этот источник данных я использую для работы с JDBC и JPA (поставщик Hibernate ).
В каждом методе слоя JDBC DAO у меня есть try / catch SQLException . И этот блок перехвата действительно перехватывает это Исключение связи но ..
Но когда я пытаюсь отправлять запросы все больше и больше, у меня появляется эта трассировка стека.
com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure
Caused by: java.net.ConnectException: Connection refused: connect
+ много деталей ..
И наконец Я ловлю в SQLException блок захвата :
java.sql.SQLException: Connections could not be acquired from the underlying database!
До этого сообщения приложение выглядело как Оно не может подключиться и знает это .
Он дает ответы с кодом состояния 500 очень быстро .
После этого сообщения приложение выглядит как Оно пытается подключиться и не может понять, что оно не может . В этом случае он дает ответы очень медленно .
После включения базы данных приложение работает без перезапуска.