Функция MySQL autoReconnect
устарела, поскольку имеет много проблем (ссылка: официальная документация ).
autoReconnectForPools
имеет мало общего с autoReconnect
, имеет больше общего с autoCommit
и reconnectAtTxEnd
- когда все 3 равны true
, он будет пинговать сервер в конце каждой транзакции и автоматически при необходимости восстановите соединение.
Проверка соединения с DBCP несовершенна - даже если установлен testOnBorrow
, он иногда возвращает разорванные соединения из пула (не говоря уже о том, что тестирование соединения перед каждым заимствованием ужасно неэффективно).
Согласно этой статье , HikariCP представляется лучшей реализацией пула, поскольку она может использовать API JDBC4 isValid()
, который намного быстрее, чем выполнение тестового запроса, и специально разработан, чтобы никогда вернуть разорванные соединения клиентскому приложению.