Javax.transaction.UserTransaction como usar?

Pessoal estou precisando de uma ajudinha ai de vcs,

Estou construindo uma aplicacao web com EJB3 e JPA, mais eu nao sei muito bem como funciona o javax.transaction.UserTransaction e
como manipular o mesmo, se alguem puder me dar uma previa explicacao ouw me passar algum link que fale algo a respeito eu ficaria
grato.

Valew.
Abraco a todos.

Você só precisa utilizar javax.transaction.UserTransaction se for necessario gerenciar manualmente suas transações (O que nao é muito recomendado, ja que o app.server ja faz isto muito bem).

Hum… tendi cara, mais o que eu quero mesmo e’ que seja gerenciada pelo app serve.

Valew ai pelo forca, muito obrigado.

So ressucitando aproveitando o tema…

Estou com algumas duvidas em Relacao a JTA e por mais que tenha lido, acho que algo me escapou…

Pelo que entendi, a JTA ira Gerenciar suas transacoes, no lugar do banco de dados, ou seja, a partir de agora vc tem uma interface Java que gerencia Commit, rollbacks e cria novas Transactions…

Pois bem, aqui estamos com um probleminha um pouco maior que isso. Usamos o OAS + Oracle e configuramos a JTA… So que o sistema possui a maioria (90%) das regras no BD (SPs e Functions) e somente 10% na Aplicacao…

Recentemente, nosso tempo de Timeout da JTA estava setado em 90 segundos, quando chamavamos uma SP de geracao de um arquivo que demorava um pouquinho mais, dava JTATransactionException devido ao estouro do Timeout… pois bem, como sou um reles programador e nunca tive a necessidade de configurar um AS com tanta precisao assim, comecei a fucar bem devagar sobre a JTA…

Como usamos o Hibernate e algumas (BBBEEEEEMMMMMMMMM POUQUISSIMAS) operacoes sao realizadas com os metodos do DaoGenerico (Save, Update, Delete), me surgiu uma confusao em relacao ao impacto… Pra resolver o problema do Timeout, aumentamos o tempo da transacao de 90 pra 300 segundos (5 min.) a SP funcionou legal, porem minha preocupacao sao com as demais transacoes daqui pra frente. Somente depois de 300 segundos, todas as transacoes que tiverem dependendo de um Commit sofrerao esse commit ?? ou para cada nova DML a JTA vai criar uma nova transacao pra mim e assim nenhuma afeta a outra ???

Porque se isso acontecer:

[quote]1 - Transacao1 - Chama SP
2 - Transacao1 - Retorna SP Depois de 200 segundos (ainda faltam 100 segundos)
3 - Transacao1 - Chamo um Delete em uma outra tabela (ainda faltam 96 segundos)
4 - Transacao1 - Chamo Update que deu erro de Constraint;

ROLLBACK na Transacao1 e eu perco tudo
[/quote]
Nao e interessante pra mim, preciso que as demais nao sejam afetadas pelo erro do Passo 4.

Ja se ele abrir uma Transacao por cada uma das chamadas, cada uma demorando 5 minutos pra me dar o commit, eh menos ruim, mas ainda acho que nao e a melhor solucao…

E ai ?? algum amigo que possa ajudar ?? estou enganado com algum conceito ?? eh isso mesmo ?? algum Help pra resolver a minha bronca ??

PS: em nossos DataSources, pra cada contexto de banco, temos a propriedade tx-level definida assim: [quote][/quote]

Valews :wink:

Não sei se já foi respondido sua duvida, mas, informação é sempre importante.

segue um exemplo

http://community.jboss.org/wiki/Sessionsandtransactions

no final da pagina ele aponta para http://caveatemptor.hibernate.org/