Введение

Спецификация Jakarta EE для доступа к транзакционным ресурсам
Jakarta Transactions (JTA; ранее Java Transaction API), один из API Jakarta EE, обеспечивает выполнение распределенных транзакций с использованием нескольких X/Open XA-ресурсов в среде Java. JTA была спецификацией, разработанной в рамках Java Community Process как JSR 907. JTA предоставляет возможности:

определение границ транзакций;
X/Open XA API, позволяющий ресурсам участвовать в транзакциях.

Архитектура X/Open XA

В архитектуре X/Open XA менеджер транзакций или монитор обработки транзакций (монитор ТП) координирует транзакции между множеством ресурсов, таких как базы данных и очереди сообщений. Каждый ресурс имеет свой собственный менеджер ресурсов. Менеджер ресурсов обычно предоставляет свой собственный API для управления ресурсом, например, JDBC API для работы с реляционными базами данных. Кроме того, менеджер ресурсов позволяет монитору ТП координировать распределенную транзакцию между собой и другими менеджерами ресурсов. Наконец, существует приложение, которое взаимодействует с монитором ТП для начала, фиксации или отката транзакций. Приложение также взаимодействует с отдельными ресурсами, используя их собственные API для изменения данных в ресурсе.

Интерфейс программирования приложений

Jakarta Transactions API состоит из трех элементов: интерфейса разграничения транзакций приложения высокого уровня, интерфейса менеджера транзакций высокого уровня, предназначенного для сервера приложений, и стандартной Java-реализации протокола X/Open XA, предназначенной для менеджера транзакционных ресурсов.

Поддержка транзакций пользователей в JNDI

UserTransaction должна быть доступна по адресу java:comp/UserTransaction (если в окружении установлена реализация JTA).