powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / RequiresNew
8 сообщений из 8, страница 1 из 1
RequiresNew
    #39379510
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
С точностью до синтакчических ошибок есть такой код:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
@Transactional
public void m1(){
    ....
    m2();
    ...
}
@Transactional(propagation= REQUIRES_NEW)
public void m2(){...}



Правильно ли следующее:
1. Ecли m2 транзакция откатится, то на m1 это никак не повлияет.
2. Если m1 откатится, то m2 всё равно закоммитится.

?
...
Рейтинг: 0 / 0
RequiresNew
    #39379513
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

А ещё это может не работать совсем, если вдруг у вас AOP реализовано через прокси, а не инструментацию байт-кода. Ну, а так, да - в общем верно.
...
Рейтинг: 0 / 0
RequiresNew
    #39379515
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczquestioner,

А ещё это может не работать совсем, если вдруг у вас AOP реализовано через прокси, а не инструментацию байт-кода. Ну, а так, да - в общем верно.

Спасибо.

Вы видимо про это:

http://stackoverflow.com/questions/3423972/spring-transaction-method-call-by-the-method-within-the-same-class-does-not-wo
...
Рейтинг: 0 / 0
RequiresNew
    #39381630
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну и в тему ещё есть NESTED propagation.


Что-то в основном пишут про то как это работает внутри, но особо не написано как это использовать.

Я так понимаю, что если транзакция уже есть, то она приостановится и начнётся внутренняя.

А что будет:
1. c вложенной транзакцией если внешняя транзакция в итоге откатится
2. с внешней транзакцией если внутренняя откатится.
...
Рейтинг: 0 / 0
RequiresNew
    #39381668
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questioner,

Если NESTED зафейлится, то откатится только она. Внешняя не откатится.
Коммит NESTED транзакции происходит во время коммита внешней транзакции, а не при выходе из области действия NESTED транзакции.
...
Рейтинг: 0 / 0
RequiresNew
    #39381697
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowiczquestioner,

Если NESTED зафейлится, то откатится только она. Внешняя не откатится.
Коммит NESTED транзакции происходит во время коммита внешней транзакции, а не при выходе из области действия NESTED транзакции.

исходя из того, что коммит внутренней транзакции происходит по выходу из внешней, значит ли, что если зафелится внешняя транзакция, то внутренняя тоже откатится(вообще я склоняюсь, что на внутреннюю это влиять не должно)
...
Рейтинг: 0 / 0
RequiresNew
    #39381703
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
questionerисходя из того, что коммит внутренней транзакции происходит по выходу из внешней, значит ли, что если зафелится внешняя транзакция, то внутренняя тоже откатится
Это вообще-то очевидно из утверждения о коммите.

questioner(вообще я склоняюсь, что на внутреннюю это влиять не должно)
С фига ли она тогда вообще "вложенная"? В этом случае она была бы просто новой независимой транзакцией - REQUIRES_NEW.
...
Рейтинг: 0 / 0
RequiresNew
    #39381772
questioner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Blazkowicz,

Ну теперь и мне станет очевидно))

спасибо
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / RequiresNew
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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