Какие исключения будут выброшены при выборе записи MySQL, которая заблокирована с "FOR UPDATE"? - PullRequest
3 голосов
/ 21 марта 2012

Я хочу использовать JDBC для доступа к базе данных MySQL.Что или будет выдано исключение SQLException, если мне удастся выбрать строку, которая ранее была заблокирована оператором «SELECT ... FOR UPDATE».

Спасибо.

1 Ответ

1 голос
/ 21 марта 2012

Полагаю, исключений не будет, вызов потока Java будет просто заблокирован до тех пор, пока СУБД не выпустит заблокированные данные. Это нормальная ситуация, поэтому нужно скинуть исключение. Думайте об этом как о блоке synchronized в Java - JVM не выдает исключение, когда поток пытается войти в блок synchronized, который уже занят другим потоком.

Единственные ситуации, когда здесь может быть выдано исключение:

  1. При потере связи с СУБД;
  2. Когда СУБД обнаруживает взаимоблокировку с параллельной транзакцией.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...