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