Пул подключений с неплохим битом уже настроен для этого, например BoneCP .Большинство даже делают это по умолчанию.Если вы используете не пул соединений, а просто базовый DriverManager#getConnection()
подход, вам придется выполнить его самостоятельно в цикле while
, пока Connection
равно null
.
* 1008.* Вот пример
basic kickoff:
Connection connection = null;
while (connection == null) {
try {
connection = DriverManager.getConnection(url, username, password);
} catch (SQLException e) {
logger.info("Connecting failed, retrying...");
}
}
return connection;
Это, конечно, можно оптимизировать больше с немного более длинными паузами между ними и установкой максимального числа повторов, и так далее.