Главная » Spring » Выбор диспетчера транзакций Spring

0

Фреймворк Spring не осуществляет непосредственного управления транзакциями. Вместо этого в его состав входит набор диспетчеров транзакций, которые принимают на себя всю ответственность за управление конкретными реализациями транзакций, предоставляемых либо посредством JTA, либо механизмом хранения данных. В табл. 7.1 перечислены диспетчеры транзакций, входящие в состав Spring.

Каждый из этих диспетчеров играет роль фасада для конкретной реализации. (Взаимосвязи между некоторыми диспетчерами транз- акций и конкретными реализациями изображены на рис. 7.2.) Это позволяет работать с транзакциями, не беспокоясь об особенностях каждой конкретной реализации.

Чтобы задействовать диспетчера транзакций, его необходимо объ- явить в контексте приложения. В данном разделе будет показано, как настраивать некоторые, наиболее широко используемые диспетчеры транзакций в Spring, начиная с диспетчера DataSourceTransactionManager, предоставляющего поддержку транзакций при работе с простыми механизмами хранения данных JDBC и iBATIS.

Таблица 7.1. В Spring имеется широкий выбор диспетчеров транзакций

Диспетчер транзакций (org.springframework.*)

Область применения

jca.cci.connection. CciLocalTransactionManager

При использовании поддержки в Spring для работы с Java EE Connector Architecture (JCA) и Common Client Interface (CCI)

jdbc.datasource. DataSourceTransactionManager

Для работы с поддержкой JDBC в Spring. Также можно использовать при работе с iBATIS

jms.connection. JmsTransactionManager

При использовании JMS 1.1+

jms.connection. JmsTransactionManager102

При использовании JMS 1.0.2

orm.hibernate3. HibernateTransactionManager

При использовании Hibernate 3

orm.jdo.JdoTransactionManager

При использовании JDO

orm.jpa.JpaTransactionManager

При использовании Java Persistence API (JPA)

transaction.jta. JtaTransactionManager

При необходимости использовать распреде- ленные транзакции или когда другие диспетче- ры транзакций не соответствуют требованиям

transaction.jta. OC4JJtaTransactionManager

При использовании контейнера Oracle OC4J JEE

transaction.jta. WebLogicJtaTransactionManager

При необходимости использовать распреде- ленные транзакции для работы с WebLogic

transaction.jta. WebSphereUowTransactionManager

При необходимости использовать транзакции, управляемые компонентом UOWManager

в WebSphere

Рис. 7.2. Диспетчеры транзакций в Spring делегируют ответственность за управление транзакциями

конкретным реализациям транзакций

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

По теме:

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