Главная » Spring » Транзакции Java Transaction API

0

Если ни один из вышеупомянутых диспетчеров транзакций не от- вечает предъявляемым требованиям или если необходимо охватить транзакциями несколько источников данных (например, две или бо- лее различные базы данных), можно воспользоваться диспетчером JtaTransactionManager:

<bean id="transactionManager" class="org.springframework.

➥transaction.jta.JtaTransactionManager">

<property   name="transactionManagerName" value="java:/TransactionManager"    />

</bean>

Диспетчер JtaTransactionManager возлагает всю ответственность за управление транзакциями на реализацию a JTA. JTA определяет

стандартный API для управления транзакциями, охватывающими один или более источников данных. Свойство transactionManagerName определяет имя диспетчера транзакций в JNDI.

JtaTransactionManager   действует  совместно  с  объектами  javax.

transaction.UserTransaction и  javax.transaction.TransactionManager,  де- легируя им ответственность за управление транзакциями. В случае успешного выполнения транзакция подтверждается вызовом метода UserTransaction.commit(). Аналогично, в случае неудачи, отмена транз- акции производится вызовом метода UserTransaction.rollback().

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

Источник:   Уоллс К., Spring в действии. – М.: ДМК Пресс, 2013. – 752 с.: ил.

По теме:

  • Комментарии