Можно ли ждать снятия блокировки транзакции с сериализуемым уровнем изоляции? - PullRequest
1 голос
/ 10 января 2020

Контекст:

Мы создали JAVA приложение с использованием пружинного каркаса (5.1.8) и пружинной загрузки (2.1.6) с справка Jhipster.

Это приложение RESTFul.

Сохранение данных выполняется в базе данных PostGRES, управляемой Hibernate (5.3.10) .

Ограничения приложения:

Из-за нашего контекста нам приходится обрабатывать большинство транзакций обновления в том же порядке, в котором они происходят.

Проблема:

Все запросы обрабатываются бизнес-функцией, объявленной как транзакционная (с пометкой @Transactionnal (распространение = распространение. REQUIRED)).

Мы устанавливаем уровень изоляции SERIALIZABLE, чтобы избежать выполнения нескольких транзакций в одно и то же время (параллелизм).

Однако с этим уровнем изоляции нам приходится управлять повторением транзакций в случае исключения параллелизма.

Есть ли способ заставить дождитесь снятия блокировки транзакции, прежде чем olation выдает исключение параллелизма (ошибка доступа сериализации), как при блокировках pessimisti c?

Мы пытались синхронизировать транзакции, но это не работает, потому что кажется, что фиксация выполняется вне транзакций.

Любая помощь будет принята с благодарностью.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...