JPA PESSIMISTIC_WRITE для приложений с несколькими экземплярами - PullRequest
0 голосов
/ 19 декабря 2018

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

Будет ли использование PESSIMISTIC_WRITE блокировать конкретную строку в базе данных таким образом, что, когда один экземпляр приложения получит доступ к этой строке,это будет недоступно для других экземпляров того же приложения, которые могут пытаться получить доступ к той же строке из базы данных в то же время?

Есть вопрос , обсуждающий различия между типами блокировок,PESSIMISTIC_READ против PESSIMISTIC_WRITE.Чтобы было ясно, я не спрашиваю о различиях между ними, я спрашиваю о области действия PESSIMISTIC_WRITE и как получение этой блокировки из одного экземпляра приложения повлияет на другие экземпляры приложений, которые могут пытаться читать и обновлять одно и то жестрока в таблице базы данных.

1 Ответ

0 голосов
/ 24 января 2019

Я проверил этот вариант использования, и ответ таков: использование PESSIMISTIC_WRITE заблокирует конкретную строку в базе данных таким образом, что, когда один экземпляр приложения получит доступ к этой строке, он будет недоступен для других экземпляровто же самое приложение, которое может одновременно пытаться получить доступ к одной и той же строке из базы данных.

...