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
|
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!
