В приложении GWT я представляю элементы, которые могут редактировать пользователи. Загрузка и сохранение элементов выполняется с помощью фабрики запросов GWT. Теперь я хочу добиться того, чтобы два пользователя одновременно редактировали элемент, и пользователь, сохранивший его первым, выиграл в стиле оптимистичного управления параллелизмом. Это означает, что когда второй пользователь сохраняет свои изменения, серверная часть фабрики запросов распознает, что версия или наличие элемента, хранящегося в серверной части, изменились с тех пор, как он был передан клиенту, а фабрика / серверная часть запросов каким-то образом предотвращает обновление элементов. /сохранено.
Я попытался реализовать это в сервисном методе, который используется для сохранения элементов, но это не сработает, потому что фабрика запросов передает элементы, только что полученные из бэкэнда, с примененными пользовательскими изменениями, что означает, что версии этих элементов являются текущими версиями из бэкэнда. и сравнивать бессмысленно.
Существуют ли какие-либо ловушки в обработке фабрики запросов, которые я мог бы использовать для достижения запрошенного поведения? Любые другие идеи? Или мне нужно использовать GWT-RPC вместо этого...