2016-07-13 4 views
-1

Я хотел бы взять под сомнение оптимистический замок,Оптимистическая блокировка

Есть ли способ сказать пользователю 1, изменяя форму, что другой пользователь 2 уже изменил ту же форму (сохраняются), без необходимости wait user 1 закончить все ваши изменения, а затем узнать, что запись была изменена пользователем 2?

Любой пример, как это сделать?

+0

Какая технология gui? Во всяком случае, вы обычно можете/всегда иметь какой-то опрос, который читает индикатор версии и отображает обновления. Могут быть некоторые более удобные подходы, такие как веб-порты, которые уменьшают нагрузку на сервер. –

+0

позволяет говорить, что gui tech - это простые. – gustavomr

ответ

0

Вы можете установить UpdatePolicy в VERSION_REQUIRED, вы должны использовать DocumentDescriptor версии write() (при изменении документа) и delete() методы. Если идентификатор изменения не изменился, операция записи или удаления завершается успешно. Если кто-то другой изменил документ, чтобы новая версия была создана, операция завершилась неудачей, вызвав исключение.

Источник: Optimistic Locking

1

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