Transações JTA XA

2 respostas
R

Ola galera, estou com uma dúvida onde não consigo ter uma explicação clara.

Exemplo: Em um projeto que utiliza EJB e controle de transações utilizando JTA, como as transações são feitas? Tudo automático?
Se são feitas automaticas
Imagina que tem um metodo qualquer que persisti em uma tabela ou mais que uma, como JTA sabe quando começa a transação e quando termina, isso é feito por metodo, por classe?

Este cenario simples:

1º - chama metodo salva cliente
2º - chama metodo salva pedidos do cliente

No final da chamada desses dois metodos foi criado uma transação unica, quando qe começou essa transação e quando termnou?

Espero que entendam a questão

2 Respostas

A

Bom isso depende se você usa CMT (Container Managed Transaction) ou BMT (Bean Managed Transaction), nos dois casos a responsabilidade de abrir e fechar a transação é do conteiner EJB, só que com o BMT você pode demarcar na sua classe aonde ele deve atuar, se tem ou não que ter transação essa coisas.

Da uma lida nesse link EJB 3 Transactions que tem uma explicação legal. Nesse outro link Infoq tem um pdf só falando sobre JTA, nele tem um capitulo sobre XA e um conceito importante chamado Two-Phase Commit que deve tirar umas duvidas suas sobre transações distribuídas.

R

Ok vou dar uma olhada

Obrigado1

Criado 1 de agosto de 2013
Ultima resposta 2 de ago. de 2013
Respostas 2
Participantes 2