У меня есть класс обслуживания Spring с двумя методами, оба помечены @Transactional. Когда я вызываю второй метод из первого внутренне (внутри того же компонента), транзакция второго метода, похоже, не запускает новую — он просто повторно использует существующую транзакцию, хотя я установил распространение = Propagation.REQUIRES_NEW**.
@Service
public class MyService {
@Transactional
public void methodA() {
methodB(); // calling internal method
}
@Transactional(propagation = Propagation.REQUIRES_NEW)
public void methodB() {
// expected a new transaction here
}
}
Почему REQUIRES_NEW не создается новая транзакция при вызове из методаA()? Связано ли это с механизмом прокси Spring AOP?
Пожалуйста, помогите!
[b]У меня есть класс обслуживания Spring с двумя методами, оба помечены[/b] @Transactional[b]. Когда я вызываю второй метод из первого внутренне (внутри того же компонента), транзакция второго метода, похоже, не запускает новую — он просто повторно использует существующую транзакцию, хотя я установил[/b] распространение = Propagation.REQUIRES_NEW**. [code]java[/code]** [code]@Service public class MyService {
@Transactional(propagation = Propagation.REQUIRES_NEW) public void methodB() { // expected a new transaction here } } [/code] [b]Почему[/b] REQUIRES_NEW [b]не создается новая транзакция при вызове из[/b] методаA()[b]? Связано ли это с механизмом прокси Spring AOP?[/b] Пожалуйста, помогите!