Почему весной метод DatabaseStartupValidator setValidationQuery() устарел?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему весной метод DatabaseStartupValidator setValidationQuery() устарел?

Сообщение Anonymous »

Код: Выделить всё

/**
* Set the SQL query string to use for validation.
* @deprecated as of 5.3, in favor of the JDBC 4.0 connection validation
*/
@Deprecated
public void setValidationQuery(String validationQuery) {
this.validationQuery = validationQuery;
}
В javadoc метода есть краткое объяснение; и я понимаю причину делегирования проверки непосредственно JDBC в большинстве случаев, но я не понимаю, почему этот метод устарел, поскольку он по-прежнему удовлетворяет другим вариантам использования.
Например У меня есть несколько сервисов, которым для того, чтобы быть «здоровыми», нужна не только существующая база данных, но и какая-то конкретная таблица, существующая там. При текущей проверке служба сообщает, что она «работоспособна», но на практике все вызовы службы завершаются ошибкой «таблица не найдена».
Метод setValidationQuery обеспечивает действительно элегантную и простой способ реализовать это, поскольку я могу просто проверить таблицу с помощью запроса при запуске и не запускать ее, пока таблица не появится через некоторое время (по умолчанию 30 секунд).
Теперь у меня было чтобы полностью изобрести велосипед и реализовать с нуля аналогичную логику, используя компонент с @PostConstruct, который получает соединение, вручную запрашивает базу данных для этой таблицы, а затем выдает исключение, если оно не найдено.
Итак, почему это вообще устарело? Есть ли ему прямая замена? Если нет, есть ли какое-либо решение для этой проблемы, которое не требует создания специального компонента из 100 строк для каждой службы только для проверки этого и/или создания специальной библиотеки?

Подробнее здесь: https://stackoverflow.com/questions/790 ... -deprecate
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»