2016-10-21 2 views

ответ

0

Ваш вопрос: я думаю, что речь идет о транзакции Spring, и это зависит от вашей бизнес-логики и от того, как вы можете контролировать весеннюю транзакцию.

Чтобы понять весеннюю сделку «ТРЕБУЕТСЯ» или «ПОДДЕРЖКА», вам нужно понять определение весенних транзакций. Эти типы определения транзакций исходят от класса org.springframework.transaction.TransactionDefinition. Но сначала вам нужно понять 1) Типы транзакций Spring, а затем 2) Определение транзакции весны.

1) Spring поддерживает два типа управления транзакциями:
Programmatic управления транзакциями: Это означает, что у вас есть управлять сделку с помощью программирования. Это дает вам максимальную гибкость, но его трудно поддерживать.

Декларативное управление транзакциями: Это означает, что вы отдельно управляете транзакциями из бизнес-кода. Для управления транзакциями вы используете только аннотации или настройку на основе XML.

2) Spring Transaction Определение
PROPAGATION_REQUIRED: поведение Spring НЕОБХОДИМЫЕ означает, что та же сделка будет использоваться, если есть уже открыта сделка в текущем контексте выполнения метода боб. Создайте новый, если он не существует. Вкратце это означает, что если внутренний (2-й транзакционный) метод вызывает откат транзакции, внешний (1-й транзакционный) метод не сможет зафиксировать и также откатится от транзакции.
PROPAGATION_SUPPORTTS: Поддержка текущей транзакции; выполняются без транзакций, если их не существует.

Понятно, что этих «ТРЕБУЕТСЯ» «ПОДДЕРЖКИ» недостаточно, поскольку я упомянул вам, что вам нужно понять все определение весны под классом org.springframework.transaction.TransactionDefinition.

К сожалению, у меня была одна точка питания об этих типах весны и транзакции, которые я написал в декабре 2014 года на веб-сайте слайд-шоу. Spring Transaction Management

В этом слайде я добавил очень важный момент о транзакции Spring в сеансе примечания точки питания. Поэтому, пожалуйста, не только ссылайтесь на слайд-контент, но также и на сессию слайдов. Надеюсь, это поможет.

Пример, см. Сеанс заметок Power Point, чтобы узнать больше о определении транзакции Spring. enter image description here

Отредактировано:
средств распространения электромагнитных волн: Как правило, весь код выполняется в области транзакции будет работать в этой транзакции.Однако у вас есть возможность указать поведение в том случае, если транзакционный метод выполняется, когда контекст транзакции уже существует. Например, код может продолжать работать в существующей транзакции (общий случай); или существующая транзакция может быть приостановлена ​​и создана новая транзакция. Spring предлагает все варианты распространения транзакций, знакомые с EJB CMT. Чтобы узнать о семантике распространения транзакций весной, см. Transaction Propagation

+0

Я получаю много от вашего ответа, и я не могу получить доступ к вашему веб-сайту «Управление срочными транзакциями», не могли бы вы дать мне новый? – porkie

+0

@porkie http://www.slideshare.net/mysky14/spring-transaction-management-42464004, здесь вы! PLZ принять и голосовать, чтобы ответить, если вы удовлетворены. –

Смежные вопросы