Как установить время ожидания запроса в PreparedStatement? - PullRequest
14 голосов
/ 06 мая 2011

Есть ли способ заставить Connection.prepareStatement () выдавать ошибку или возвращать вместо ожидания блокировки строки?

Я пытаюсь реализовать межпроцессную синхронизацию с использованием подготовленного оператора, который я не фиксирую, поэтому он захватывает блокировку записи в определенной строке. В других процессах он пытается подготовить оператор sql, затем он зависает, пока завершается исходный процесс. Мне нужно, чтобы я знал, что он зависает, поэтому я могу остановить функцию и повторить попытку всякий раз, когда она перенесена.

Есть идеи? Я гуглил в течение нескольких дней и, похоже, не могу найти да / нет.

1 Ответ

19 голосов
/ 07 мая 2011

Я дурак, я понял это вчера и просто забыл ...

Чтобы решить это, сделайте

preparedstatement = con.prepareStatement(query);
preparedstatement.setQueryTimeout(seconds);

а потом просто лови исключение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...