большинству понятиях):
есть кадровая система, нужно чтобы пользователь, открывающий на редактирование данные сотрудника, автоматически блокировал эти данные для других. Т.е. чтобы другому пользователю, который попытается открыть того же сотрудника выдавалось "извините-простите, подождите".
Трехзвенка, spring
Это не Distributed lock, насколько я понял, потому что там в явном виде получается интерфейс Lock и он просто потеряется между REST-запросами (между запросом заблокировать_и_открыть и сохранить_и_разблокировать).
пилить свой велосипед?
В методах которые что то изменяют проверять возможность редактирования перед выполнением логики можно. Типа checkForPermissions() Если не упал с исключением, значит можно править
Это да, "собственная" реализация будет делать именно так. Я предполагал, что можно не велосипедить и что-то в этом духе уже есть. Как, к примеру, резервирование мест в поезде или самолете.
Обсуждают сегодня