У меня есть метод, который запускает транзакцию программно с использованием шаблона транзакции из Spring.Весенние транзакции по рекурсивным вызовам
Void methodA() {
TransactionTmeplate..........
Setpropgation to requires new....
/// do my stuff in trasaction
}
Поэтому, если у меня есть другой класс, который вызывает этот метод, он создает транзакцию, как и следовало ожидать. Но что произойдет, если этот метод будет введен снова из одного и того же вызывающего потока. Создается ли другая транзакция?
Пример:
MethodCaller -> methodA (transaction created) -> methodD -> methodA(??)
Следуя:
Кроме того, если класс @autowired
, будет две темы, требующие либо одну и ту же операцию, учитывая один экземпляр существует?
Я бы предположил, что у них нет собственной записи в стеке для метода.
Какая логика выполнит что-то подобное? Предполагается, что транзакция представляет собой единую логику. Я бы сказал, что у этого есть запах кода – thatidiotguy
да, я согласен ... но я пытаюсь следовать некоторому коду, и поведение ... похоже на это ... и так как я пишу его снова ... Я хочу быть уверенным в транзакциях и как они работают ... что возможно, чего нет ... – user1555190