Ol� Carlos,

Valeu pela dica. Implementei um exemplo que fazia os acessos da forma que eu havia falado e com o controle das conex�es na camada DAO com vc sugeriu.

O cont�iner realmente faz o controle direitinho. Eu configurei o m�todo do meu Session controlar uma transa��o (Required).

O �nico detalhe � que s� funciona para conex�es do DataSource (pool), e n�o para conex�es regulares. O que, por sinal faz sentido!

At� mais,

Leonardo



"Carlos Eduardo Carvalho" <[EMAIL PROTECTED]>

13/01/2003 17:45
Favor responder a java-list

       
        Para:        <[EMAIL PROTECTED]>
        cc:        
        Assunto:        Re: [java-list] Controle de Transa��o.



Leonardo,
 
Segundo a pr�pria especifica��o do J2EE, o gerenciamento das conex�es ficaria por conta da pr�pria plataforma. Dessa forma, o ideal � que se siga o que dizem as boas pr�ticas da programa��o: realizar o fechamento das conex�es depois de us�-las. Creio que, para o gerenciador do pool de conex�es do J2EE, esse fechamento signifique apenas a devolu��o da conex�o � lista de conex�es, n�o implicando no fechamento real dessas conex�es.
 
Seguindo essa l�gica, a transa��o n�o � fechada antes do momento desejado, mas � somente uma suposi��o. N�o tenho clareza de que seja de fato assim, apesar de eu trabalhar dessa forma conseguindo os resultados esperados.
 
Atc,
 
Carlos Eduardo Teixeira Carvalho
----- Original Message -----
From: [EMAIL PROTECTED]
To: [EMAIL PROTECTED]
Sent: Monday, January 13, 2003 11:28 AM
Subject: [java-list] Controle de Transa��o.


Ol� pessoal,


Estou com uma d�vida relacionada ao controle de transa��o na arquitetura J2EE...

Suponha que eu tenha um Session que manipule dois Entities BMP. Cada Entity possui uma classe DAO relacionada para acesso ao banco. A minha transa��o � justamente o m�todo do Session.

Segundo o exemplo do Java Pet Store, pelo que eu entendi, a classe DAO � quem faz um "getConnection" e um "close" para as conex�es do pool.

A� vem minha d�vida, quando meu Session acessa o segundo Entity, o primeiro j� fechou a conex�o dele. Ainda assim, � poss�vel que o Cont�iner gerencie a transa��o?
Ou � melhor eu pegar a conex�o no Session e passar pra frente? Dessa maneira eu s� teria uma conex�o que s� seria fechada ao final da transa��o. Mas como eu faria isso?


Agrade�o alguma dica!


Responder a