powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / RequiresNew - он точно приостанавливает уже открытую транзакцию?
5 сообщений из 5, страница 1 из 1
RequiresNew - он точно приостанавливает уже открытую транзакцию?
    #39020989
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Везде работу этого атрибута описывают примерно так:
1.Приостанавливает клиентскую транзакцию.
2.Начинает новую транзакцию.
3.Посылает запрос в метод.
4.Продолжает клиентскую транзакцию после завершения метода.

Что значит приостанавливает транзакцию? Как ее можно приостановить? С транзакцией вроде бы возможны только две операции: commit или rollback. Внешняя транзакция, внутри которой вызвался наш метод с @Transactional(propagation = Propagation.RequiresNew), допустим увеличивает какое-то значение в каком-то числовом поле. Мы её прерываем, и допустим уменьшаем/увеличиваем в своем методе это же значение. А потом та транзакция возобновляется, и продолжает свое дело. И где же целостность данных?
...
Рейтинг: 0 / 0
RequiresNew - он точно приостанавливает уже открытую транзакцию?
    #39021002
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, почитал дальше и почти понял. RequiresNew должен использоваться только для операций независимых от первой транзакции. А то что, транзакцию в принципе можно приостановить, объясняется тем, то это спринговая(или EJB-шная) транзакция, а не транзакция БД.
...
Рейтинг: 0 / 0
RequiresNew - он точно приостанавливает уже открытую транзакцию?
    #39021396
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eklm861.Приостанавливает клиентскую транзакцию.
А зачем её приостанавливать? Она убежит куда-то?
...
Рейтинг: 0 / 0
RequiresNew - он точно приостанавливает уже открытую транзакцию?
    #39022970
eklm86
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В русскоязычных источниках пишут так.
Гляну англоязычные
авторMethod 2 executes in a new transaction, and the outer transaction is suspended
...
Рейтинг: 0 / 0
RequiresNew - он точно приостанавливает уже открытую транзакцию?
    #39023058
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
eklm86В русскоязычных источниках пишут так.
Гляну англоязычные
авторMethod 2 executes in a new transaction, and the outer transaction is suspended
Просто вопрос странный. Транзакция работает в контексте потока. Вот исполняет поток Method 1, во внешней транзакции. Вот Method 2, перед его исполнением запустилась другая транзакция.
Внимание вопрос, как вы себе вообще представляете не приостановленную внешнюю транзакцию учитывая что обе транзакции прибиты к одному потоку, который может исполнять только 1 метод в определенный момент времени.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / RequiresNew - он точно приостанавливает уже открытую транзакцию?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]