Библиотеки, такие как C3P0 и DBCP, позволяют вам предоставить запрос проверки, который обычно является чем-то очень простым, например, «выбрать 1». Следовательно, вы можете использовать тот же подход или просто использовать любую из этих библиотек (моя рекомендация будет C3P0).
Однако вместо того, чтобы проверять соединение перед выполнением запроса, вы можете просто попытаться выполнить, а затем повторить операцию, если она потерпит неудачу из-за того, что соединение недопустимо. В качестве альтернативы вы можете рассмотреть подход к соединению без пула, когда соединение создается на лету каждый раз (например, например, Spring * DriverManagerDataSource
).