Sorry. Omiti esse detalhe importante.
Na verdade n�o mostrei a solu��o, mas tentei passar alguns detalhes
importantes dela, e acabei esquecendo esse.

� isso ai. Valeu, Deisimar.

----- Original Message -----
From: "Fco. Deisimar Nobre Jr." <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Monday, November 04, 2002 11:36 AM
Subject: RES: [cejug-discussao] Re: [cejug] Fw: D�vidas


>     Me intrometendo aqui na sugest�o do Francisco Pinto Ara�jo J�nior....
acho que ficou faltando definir o inico da transa��o.
>
>       try
>       {
>          con.setAutoCommit(false);  // <========================
>                                     // inicio da transa��o
>          classeA.InclusaoClasseA( con );
>
>          classeB.InclusaoClasseB( con );
>
>          // Se chegar aqui, � por que tah tudo ok
>          con.commit();    // Efetiva a transa��o
>       }
>       catch( Exceptio e )
>
> ===========================================
> Francisco Deisimar Nobre J�nior
> Analista de Sistemas - CIT - M. Dias Branco
> ===========================================
>
>
> -----Mensagem original-----
> De: Carlo Giovano [mailto:cgiovano@;atlantico.com.br]
> Enviada em: segunda-feira, 4 de novembro de 2002 09:17
> Para: [EMAIL PROTECTED]
> Assunto: RES: [cejug-discussao] Re: [cejug] Fw: D�vidas
>
>
> S� para que o Clairton n�o fique em d�vida nas solu��es ( a enviada por
mim e a do  Pinto): Na verdade elas s�o equivalentes. A diferen�a � que vc
pode usar a minha no caso de n�o querer deixar vis�vel o pacote de acesso a
dados java.sql para classes de neg�cio e deixar isso apenas para suas
classes de dados. Imagine que um servlet, ou um fa�ade ou uma janela Swing
estejam usando suas classes A e B, nesse caso vc n�o gostaria de "pular" uma
camada e fazer esses caras se amarraram ao pacote sql. Da� a id�ia do
UserTransaction para esconder isso. No entanto, se voc� n�o tiver esse tipo
de requisitos ent�o use a solu��o do Pinto que � mais direta ao ponto.
>
> Carlo Giovano
> CEJUG
>
> -----Mensagem original-----
> De: Francisco Pinto Ara�jo J�nior [mailto:pinto@;softexport.com.br]
> Enviada em: segunda-feira, 4 de novembro de 2002 09:54
> Para: [EMAIL PROTECTED]
> Assunto: Re: [cejug-discussao] Re: [cejug] Fw: D�vidas
>
>
> Clairton,
>
> Voce podia utilizar o conceito de transa��o.
>
> A id�ia seria algo maisno menos assim:
>
> class ClassA
> {
>    public void InclusaoClasseA( Connection con )
>
>    throws Exception
>    {
>        // Aplica a tua atualiza��o em usando a conex�o passada (con)
>    }
> }
>
> class ClassB
> {
>    public void InclusaoClasseB( Connection con )
>    throws Exception
>    {
>        // Aplica a tua atualiza��o em usando a conex�o passada (con)
>    }
> }
>
>
> Na classe (X) que faz a opera��o desejada (Y), de incluss�o nas duas
tabelas.:
>
> class X
> {
>    void Y()
>    {
>
>       Connection con = getConnection() // Pega de algum forma uma conex�o
>
>       ClasseA classA = new ClasseA();
>       ...
>
>
>       ClasseB classB = new ClasseB();
>       ...
>
>       try
>       {
>          classeA.InclusaoClasseA( con );
>
>          classeB.InclusaoClasseB( con );
>
>          // Se chegar aqui, � por que tah tudo ok
>          con.commit();    // Efetiva a transa��o
>       }
>       catch( Exceptio e )
>       {
>          // Se chegar aqui � por que alguma das 2 opora��es teve problemas
>          con.rollback(); // Joga fora as opera��es realizadas.
>
>          throw e; // Propaga adiante, se for o caso, a exce��o que
aconteceu
>                   // aqui, de modo que a aplica��o saiba que n�o foi
realizada
>                   // com sucesso.
>       }
>    }
> }
>
> Francisco Pinto Ara�jo J�nior
> Diretor de Tecnologia - Softexport Inform�tica
> Msc. Ci�ncia da Computa��o
> SCPJ2
> Fone/Fax: +55 85 458 1947
> [EMAIL PROTECTED]
> www.softexport.com.br
> ----- Original Message -----
> From: "Clairton" <  <mailto:clairton@;pmenos.com.br>
[EMAIL PROTECTED]>
> To: <  <mailto:discussao@;cejug.org> [EMAIL PROTECTED]>
> Sent: Monday, November 04, 2002 8:17 AM
> Subject: [cejug-discussao] Re: [cejug] Fw: D�vidas
>
>
> >
> > Caros senhores da lista:
> >
> > Tenho uma classe chamada de ClasseA, que tem o um metodo  publico de
> > inclus�o chamado InclusaoClasseA, e inseri na tabela TabelaClasseA.
> > Tenho outra classe chamada de ClasseB, que tem o um metodo  publico de
> > inclus�o chamado InclusaoClasseB, e inseri na tabela TabelaClasseB.
> > Ent�o a d�vida:
> > Como fa�o para encapsular os dois metodos para aproveitar a mesma
conex�o de
> > banco de dados ? Ou seja : Se eu inserir na tabela TabelaClasseA e em
> > seguida tentar inserir TabelaClasseB e na classe ClasseB der um erro no
> > m�todo InclusaoClasseB, desfazer a minha inclus�o na InclusaoClasseA.
> >
> > Agradece
> >
> >  <mailto:clairton@;pmenos.com.br> [EMAIL PROTECTED]
> >

Responder a