Push 163 file(s) from Obsidian
This commit is contained in:
@@ -0,0 +1,10 @@
|
||||
#java #SpringBoot
|
||||
|
||||
Сценарий: У тебя есть OrderService с методом createOrder(), помеченным @Transactional.
|
||||
Внутри он вызывает updateInventory() (тоже в OrderService и тоже с @Transactional).
|
||||
Если updateInventory() выбрасывает runtime-исключение, что произойдет с транзакцией, начатой в createOrder()?
|
||||
Как изменить дизайн, если нужно, чтобы оба метода выполнялись в отдельных, независимых транзакциях?
|
||||
|
||||
→
|
||||
Транзакция не будет распространяться (прокси не сработает при внутреннем вызове).
|
||||
Решение — self-injection (внедрение самого себя как зависимости) или использование AOP.
|
||||
Reference in New Issue
Block a user