PostgreSQL + Java (Spring) + Angular. Есть необходимость блокировать запись, если ее кто-то взял на чтение. Допустим, открыл я документ в web гуе и пошел чай пить, а другой человек, если хочет его открыть, получает какой-то ексепшн. Ну или флаг, что только в readonly можно открыть. На ум приходит много костылей и велосипедов. Но есть ли в спринге, постгре, какой-то механизм из коробки для этого?
Я бы вкрутил блок на уровне приложения, при попытке открыть форму в ангуляре - проверял бы статус.
поскольку здесь блокировка - часть БЛ, то обычно пилят проверку статуса
в постгре же куча различных блокировок, на все случаи жизни. можно из без поля в принципе, открываешь транзакцию и блочишь https://www.postgresql.org/docs/9.4/static/explicit-locking.html
Я бы зделал кароч DocService{ Either<FullAccessDoc, ReadOnlyDoc> getDoc(int id); }
Обсуждают сегодня