Я пытаюсь использовать логику повторных попыток для получения соединения JDBC в случае, если я получаю исключение SQL с чем-то вроде:
int counter = 0;
Connection conn = null;
while (null == conn) {
try {
conn = GetConnectionObject;
} catch (SQLException e) {
if (++counter > MAX_RETRY) {
//Log ERROR
break;
}
} finally {
if (null != conn) {
try {
DbUtils.close(conn);
} catch (SQLException e) {
logger.error("Exception while closing the connection object");
}
}
}
}
В настоящее время я не могу проверить это, поэтому мне нужна помощь.
Это будет работать нормально, если я получу исключение, а затем я могу войти после повторной попытки.Но если мы НЕ получим исключение, оно придет к блоку finally и закроет соединение.Try-Catch-Наконец-то внутри цикла while.
Так что, если я закрою соединение, поток если достигнет
while (null == conn)
Будет ли мой объект соединения станет пустым после закрытия?
Или, если есть какой-то другой способ реализовать часть повторения?