Описание тега optimistic-locking

При координации обновлений из нескольких сеансов базы данных оптимистическая блокировка - это стратегия, предполагающая, что все обновления могут выполняться без конфликтов. Он не блокирует какие-либо записи, пока пользователь редактирует, но проверяет, произошли ли какие-либо другие изменения, когда пользователь пытается зафиксировать изменения. Если два сеанса попытаются отредактировать одни и те же данные, второй для фиксации будет отклонен и придется повторить изменение. См. Также пессимистическую блокировку.
1 ответ

Как правильно обработать JPA ObjectOptimisticLockException для нескольких одновременных запросов транзакций?

Итак, я работал над простым проектом Spring MVC + JPA (hibernate), в котором есть пользователи, которые могут создавать сообщения и комментировать сообщения своих друзей (что-то вроде небольшой социальной сети) . Я все еще относительно нов, использу…
0 ответов

Hibernate OptimisticLocking не работает

Я использую Hibernate 3.6.6 с Sping 3.0.4 после добавления @org.hibernate.annotations.Entity(optimisticLock=OptimisticLockType.ALL, dynamicUpdate=true) на мой бин и работает после теста SSNConceptDAO conceptDao = (SSNConceptDAO)Context.getBean("conc…
22 авг '11 в 23:32
0 ответов

OptimisticLockException - Sql Server - дескриптор

Я пытаюсь обновить запись в базе данных одним из методов GridViewControl. Это вызывает OptimisticLockException. В моей базе данных есть четыре поля даты (dZadOpenDateTime, dZadCloseDateTime,dCreatedDateTime,dChangedDateTime), показанные на этом сним…
1 ответ

hibernate оптимистическая блокировка: другое обновление потока между 2 обновлениями в текущем потоке

Временная шкала выглядит так: Пользователь (браузер) ---------------------------> обновить ЦЕЛЬ 2 --------------- -> Тема ------> обновить TARGET 1 ---------> long_operation -----> обновить TARGET 3 Я запускаю поток для выполнения long_operation и о…
1 ответ

Избегайте оптимистичной блокировки в веб-приложении Java

У меня есть проблема, касающаяся исключения оптимистической блокировки Java. У меня есть класс обслуживания, который создается (к весне) для каждого нового сеанса пользователя, и он содержит нестатический метод, который выполняет операции с БД. Инте…
1 ответ

Оптимистическая стратегия блокировки с атомарностью в C++ и упорядочением

После прочтения атомарности C++0x и в сочетании с неблокирующими очередями я решил поиграть с ними. Идея заключалась в том, чтобы написать одного производителя, несколько потребительских очередей с оптимистичной блокировкой. Сообщения не должны быть…
28 окт '11 в 08:28
1 ответ

Ошибка теста производительности Grails: org.hibernate.StaleObjectStateException: строка была обновлена ​​или удалена другой транзакцией

Я готовлюсь к тестам производительности и создаю новые тестовые случаи. Итак, я только что протестировал один тестовый пример, запустив его на сервере, к которому у меня есть доступ, и я только что получил: org.hibernate.StaleObjectStateException: с…
28 ноя '11 в 20:18
2 ответа

Как механизмы блокировки (пессимистичные / оптимистические) связаны с уровнями изоляции транзакций базы данных?

Я пишу веб-приложение, в котором два разных пользователя могут обновить список вещей, например, список дел. Я пришел к выводу, что оптимистический механизм блокировки работает лучше всего, так как я не ожидаю высокого уровня конкуренции. Я смотрел н…
1 ответ

Hibernate автоматическое управление версиями не работает (с Spring)

Я пытаюсь использовать автоматическое управление версиями Hibernate, но когда вызывается метод обновления F сеанса, я не вижу поле версии в предложении where запроса и при этом версия не увеличивается в базе данных. Я делаю что-то в корне неправильн…
0 ответов

Сущность изменилась после исключения оптимистической блокировки в доктрине 2 Symfony 4

Я пытаюсь изменить сущность с помощью столбца @version. Когда я пытаюсь редактировать сущность из 2 разных браузеров, кажется, все работает нормально. Флэш-сообщения показывают, что возникает исключение opt lock Но почему-то даже происходит исключен…
0 ответов

JPA Блокировка в веб-приложении

Я пытаюсь реализовать блокировку в приложении JPA/Hibernate, чтобы определить, когда клиент пытается выдвинуть изменения в устаревшей версии объекта. Я решил выставить dto (представляющий подмножество домена) через службы REST. В настоящее время я м…
18 дек '15 в 18:29
2 ответа

Оптимистичная блокировка на стороне сервера в приложении ReSTful: обработка асинхронных запросов от одного и того же клиента

Я работаю над проектом, который находится в процессе перехода от проверки концепции к чему-то достойному пилотному проекту. Одним из ключевых улучшений на этом этапе разработки является переход от существующего механизма "постоянства", который испол…
17 авг '10 в 16:05
2 ответа

Как кодировать оптимистическую и пессимистическую блокировку из кода Java

Я знаю, что такое оптимистическая и пессимистическая блокировка, но когда вы пишете код Java, как вы это делаете? Предположим, я использую Oracle с Java, у меня есть какие-либо методы в JDBC, которые помогут мне сделать это? Как я буду настраивать э…
2 ответа

GAE обновляет разные поля одной и той же сущности

UserA и UserB изменяют objectA.filedA objectA.filedB соответственно и одновременно. Поскольку они не меняют одно и то же поле, можно подумать, что нет совпадений. Это правда? или реализация pm.makePersistnace() фактически перекрывает весь объект... …
1 ответ

Когда не следует использовать версию no в классе домена Grails?

В моем предыдущем проекте Grails (большой объем транзакций) у меня был ужасающий опыт использования исключений устаревших объектов с отношениями "1 ко многим" и "многие ко многим". Я в основном сохранял профиль друзей в Facebook (весь профиль со шко…
3 ответа

В SQL Server 2005 и 2008, как сказать, что я использую пессимистическую модель параллелизма или оптимистическую модель?

Я знаю, что SQL Server 2000 имеет пессимистическую модель параллелизма. И оптимистическая модель была добавлена ​​в SQL Server 2005. Так как мне определить, использую ли я модель пессимистичного параллелизма или оптимистическую модель в SQL Server 2…
0 ответов

Обновление оптимистичной блокировки Rails в цикле, кажется, работает, пока я не проверю снаружи цикла

Я использую оптимистическую блокировку на модели Rails. Внутри цикла я обновляю и сохраняю эту модель (или, скорее, многие экземпляры этой модели). Из цикла я вывожу значения "до" и "после", и поле, по-видимому, корректно обновляется. Но потом, когд…
13 апр '13 в 00:54
1 ответ

EJB - Использование EntityManager - Может ли поиск сущности вызвать исключение OptimisticLockException

К сожалению, в моем коде появляется исключение OptimisticLockException, и я не знаю почему. Возможно, есть кто-то, кто может помочь мне с ответом на общий вопрос. Следующий сценарий: @Entity public class MyEntity { @Id @GeneratedValue private Intege…
0 ответов

Обработка оптимистичной блокировки с использованием rxjs

Я пытаюсь обработать оптимистическую блокировку в нашем Angular-приложении, используя rxjs, но я сталкиваюсь с некоторыми проблемами, которые я не могу объяснить. На моей странице есть подробная информация о кредитной заметке, а также некоторые подр…
19 мар '18 в 09:06
1 ответ

Можно ли использовать JPA-контроль версий / оптимистическую блокировку, чтобы предотвратить передачу старых данных для изменения?

Я хочу предотвратить следующий сценарий: Пользователь 1 открывает веб-страницу, которая позволяет ему изменять некоторые данные Пользователь 2 открывает веб-страницу, которая позволяет ему изменять те же данные Пользователь 2 изменяет и сохраняет да…
27 май '16 в 06:17