❓ Что такое Propagation в Spring?
Propagation — это режимы управления транзакциями, которые определяют, как транзакции должны вести себя при вызове метода внутри другого метода, который уже находится в транзакции.
▪️ Основные режимы:
— REQUIRED (по умолчанию): если транзакция существует, то текущий метод будет работать в рамках этой транзакции. Если транзакция не существует, создается новая.
— REQUIRES_NEW: создается новая транзакция, даже если уже существует текущая. Текущая транзакция будет приостановлена до завершения новой.
— NESTED: в рамках текущей транзакции создается вложенная транзакция. В случае отката внешней транзакции будет откатана и вложенная.
— MANDATORY: метод должен быть вызван в рамках существующей транзакции. Если транзакции нет, выбрасывается исключение.
— NEVER: метод не должен выполняться в рамках транзакции. Если транзакция существует, выбрасывается исключение.
— SUPPORTS: если транзакция существует, метод будет выполнен в ее рамках. Если транзакции нет, метод будет выполнен без транзакции.
— NOT_SUPPORTED: метод выполняется без транзакции. Если транзакция существует, она приостанавливается на время выполнения метода.
🐸 Библиотека собеса по Java
Post #961
2.24K
- 👍 14
- 🔥 5
- ❤ 4