Saltar para o conteúdo

Java Transaction API

Origem: Wikipédia, a enciclopédia livre.

A Java Transaction API, ou JTA, é uma API pertencente à plataforma Java EE. Ela disponibiliza uma interface para a demarcação de transações em aplicações escritas na linguagem Java. Esta interface é a mesma independentemente da forma como foi implementado o monitor de transação. A JTA é um padrão definido pela JSR 907.

Características

[editar | editar código-fonte]

A JTA é uma API de alto nível utilizada por desenvolvedores de aplicações para a plataforma Java. Através da interface JTA o desenvolvedor interage com o monitor de transação, normalmente implementado em um servidor de aplicações, para determinar as fronteiras de uma transação dentro de uma aplicação, isto é, através da interface JTA ele define o início da transação e determina se ela será confirmada (commit) ou não (rollback).

A JTA é um mapeamento para a plataforma Java do padrão XA, que permite aos recursos, como um SGBD ou servidor JMS, participarem de uma transação global gerenciada por um monitor de transação externo.

User Transaction

[editar | editar código-fonte]

Esta interface permite que o desenvolvedor de aplicações defina as fronteiras das transações no código do programa. Através de comandos da linguagem Java o desenvolvedor interage com o monitor de transação. A interface Java que define este comportamento é: javax.transaction.UserTransaction.

Transaction Manager

[editar | editar código-fonte]

Quando o gerenciamento das transações é deixado sob responsabilidade de um servidor de aplicações, a interface utilizada é a javax.transaction.TransactionManager. É o caso das aplicações implementadas através dos EJBs chamados de Container Managed Transactions ( transações gerenciadas pelo container). Neste caso as fronteiras transacionais são definidas na configuração da aplicação e não, pelo menos não diretamente, no código.

Esta interface permite que operações sejam realizadas sobre uma transação. Toda transação global tem um objeto do tipo javax.transaction.Transaction associado. O servidor de aplicações tem acesso a esse objeto através do método getTransaction() da interface javax.transaction.TransactionManager.

Para que um recurso participe de uma transação global JTA, ele deve implementar a interface javax.transaction.xa.XAResource. Um driver JDBC ou um provedor JMS que suporte transações distribuídas deve implementar esta interface. Esta interface mapeia a interface do padrão XA para a plataforma Java.

Esta interface implementa a infraestrutura de identificação de transações do padrão XA. Ela define meios para o acesso do id (identificador) da transação. Esta interface não é visível pelo desenvolvedor ou pelo servidor de aplicações.

Implementações

[editar | editar código-fonte]

Os servidores de aplicação que suportam o padrão Java EE implementam monitores de transação compatíveis com a API JTA. A SDK da Java EE, da Oracle Corporation, inclui o monitor Java Transaction Service (JTS).

Ligações externas

[editar | editar código-fonte]