�, Pablo,
 
As linhas de c�digo que voc� sugeriu fazem com que o m�todo finalize() seja executado. Mas o meu problema persiste. O que eu quero, realmente, � uma forma de liberar automaticamente os recursos que foram alocados(automaticamente) no construtor do Singleton.
 
Eu queria deixar a interface da minha classe com o mundo exterior a simples poss�vel. Se eu tiver de colocar na documenta��o que ao finalizar os trabalhos os m�todos "System.runFinalization()" e "System.gc()", ou mesmo o "liberaLegado()" devem ser chamados a fim de liberar TODOS os recursos alocados pelo objeto, confesso que vou achar o desenho desta classe um pouco pobre e n�o ter� a menor necessidade coloc�-la como um singleton(talvez s� atrapalhe).  Acho que � como o R�gis disse, n�o deve ter forma de automatizar isto.
 
Mas de qualquer forma, muito obrigado.
 
Valeu.
 
Felipe Cavalcante.
 
 
De: "Pablo" [EMAIL PROTECTED]
Para: [EMAIL PROTECTED]
C�pia:
Data: Sun, 10 Oct 2004 08:24:19 -0300
Assunto: Re: [cejug-discussao] Executar o Object.finalize()
   
> corre��o:
> havia escrito
> System.runFinalization(); // aqui vc for�a a jvm a
> execucar o m�todo finalize dos m�todos pendentes...
> o correto �:
> System.runFinalization(); // aqui vc for�a a jvm a
> execucar o m�todo finalize dos objetos pendentes...
>
> pe�o desculpas
>
> pablo
>
>
>
> ----- Original Message -----
> From: "Pablo" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Sunday, October 10, 2004 8:17 AM
> Subject: Re: [cejug-discussao] Executar o Object.finalize()
>
>
> > Bom dia pessoal,
> >
> > Regis tenta utilizar estas duas linhas abaixo ap�s a execu��o do seu
> > execut�vel delphi talvez funcione.
> >
> > System.runFinalization(); // aqui vc for�a a jvm
> a
> > execucar o m�todo finalize dos m�todos pendentes...
> > System.gc(); // arqui vc for�a a execu��o do gc
> >
> > espero ter ajudado.
> > sem mais,
> >
> > pablo
> >
> >
> >
> > ----- Original Message -----
> > From: "Regis Melo" <[EMAIL PROTECTED]>
> > To: <[EMAIL PROTECTED]>
> > Sent: Sunday, October 10, 2004 6:43 AM
> > Subject: Re: [cejug-discussao] Executar o Object.finalize()
> >
> >
> > > O problema � que s�o dois processos separados. O SO est� executando dois
> > > programas distintos.
> > >
> > > N�o vejo muita forma de automatizar isso. Vc vai ter q explicitamente
> > > matar o outro processo, sim.
> > >
> > > Se vc est� pensando em JNI vc pode fazer com que o programa Delphi seja
> > > chamado do Java usando JNI. Para isso vc precisar� que ele seja
> > > disponibilizado atrav�s de uma DLL.
> > >
> > > []'s,
> > >
> > > Regis
> > >
> > > felipedes wrote:
> > >
> > > >Bem R�gis,
> > > >
> > > >Quando o meu programa acaba a VM encerra. Mas, o programa externo(feito
> > em Delphi) continua sua execu��o.
> > > >
> > > >A solu��o que eu estou utilizando at� agora � fazer uma chamada
> expl�cita
> > a um m�todo do Singleton s� para destruir o processo(s� porque o
> finalize()
> > insiste em n�o ser executado).
> > > >
> > > >public void liberaLegado() {
> > > > sistemaLegado.destroy(); // "sistemaLegado" � um "Process",
> > > > // o mesmo onde est� rodando o EXE.
> > > >}
> > > >
> > > >O que eu quero, realmente, � uma forma de liberar automaticamente os
> > recursos que foram alocados no construtor do Singleton. Para recursos
> comuns
> > como arquivo, objetos e conex�es n�o vi problema. O problema s� aconteceu
> no
> > caso de executar um EXE.
> > > >
> > > >EM TEMPO: Ser� que com JNI eu consigo resolver isto? Vou tentar
> enquanto
> > aguardo ajuda.
> > > >
> > > >Falou?
> > > >
> > > >Felipe Cavalcante.
> > > >
> > > >
> > > >De:"Regis Melo" [EMAIL PROTECTED]
> > > >
> > > >Para:[EMAIL PROTECTED]
> > > >
> > > >C�pia:
> > > >
> > > >Data:Wed, 06 Oct 2004 07:38:41 -0300
> > > >
> > > >Assunto:Re: [cejug-discussao] Executar o Object.finalize()
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >>Qdo o programa acaba a VM encerra? Ou a VM fica executando alguma
> outra
> > > >>tarefa?
> > > >>
> > > >>O finalize � executado somente no Garbage Collector - que ir�
> acontecer
> > > >>qdo a VM terminar ou qdo ela decidir coletar o lixo.
> > > >>
> > > >>[]'s,
> > > >>
> > > >>Regis
> > > >>
> > > >>felipedes wrote:
> > > >>
> > > >>
> > > >>
> > > >>>Ol� pessoal,
> > > >>>
> > > >>>Tenho uma classe Singleton no meu programa. Na inicializa��o desta
> > classe eu carrego um programa externo, que fica executando em
> "background".
> > > >>>Quando o meu aplicativo for encerrado gostaria de encerrar tamb�m o
> > programa externo.
> > > >>>
> > > >>>J� tentei colocar a finaliza��o do processo do m�todo finalize() do
> > singleton, mas o m�todo finalize() simplesmente n�o � executado. Algu�m
> pode
> > me ajudar?
> > > >>>
> > > >>>Grato,
> > > >>>
> > > >>>Felipe Cavalcante.
> > > >>>
> >
> >
> > --------------------------------------------------------------------------
> -----------------
> > Ceara' Java User Group
> >
> > Para cancelar sua assinatura, envie um e-mail para:
> [EMAIL PROTECTED]
> > Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
> > Falar com o administrador? e-mail para: [EMAIL PROTECTED]
> >
> >
> >
>
>
> -------------------------------------------------------------------------------------------
> Ceara' Java User Group
>
> Para cancelar sua assinatura, envie um e-mail para: [EMAIL PROTECTED]
> Para mais informacoes, mande um e-mail para: [EMAIL PROTECTED]
> Falar com o administrador? e-mail para: [EMAIL PROTECTED]
>
>
>

Responder a