OutOfMemory

4 respostas
L

Boas pessoal,
tenho uma app que precisa verificar de 4 em 4 segundos se determinada informação esta no banco de dados. E tenho um timer da seguinte forma :

ActionListener verificador = new ActionListener(){
public void actionPerformed(ActionEvent event){

try{
//Aqui ele faz o trabalho de consulta ao banco e envia a informação a outro lugar.
verificaNobancoEProcessa();
}catch(Exception ex){
System.out.println(ex);
}

}
}

Timer tim = new Timer(4000, verificador);
tim.start();

tudo funciona perfeito.
O problema é que se o sistem fica ligado mais do que 48 horas ele estoura com a mensagem :
OutOfMemory Exception e dai ele deixa de pesquisar o banco de dados.

Ai eu tenho que manualmente desligar o programa e voltar a ligar e tudo volata ao normal.
O poderá tar passando para ele dar esse erro ? será que ele cada vez que consulta cria uma thread e depois chega a uma limite que estoira ?

Alguma sugestão ? Obrigado .

4 Respostas

fabio.cbrandao

Cara acredito que os dados q vc trabalha do banco estão ficando salvos na sessão do seu server e ai quando o espaço chega ao fim o server estoura, procure limpar a sessão do server após trabalhar com os dados do BD.

L

Cara a aplicação é desktop. Ela faz consultas a um banco de dados que ta em outro servidor.abre, consulta e fecha a connection. não é por ai …

robinsonbsilva

Jovem,

PArtindo do principio que sua aplicação está “alocando/desalocando corretamente” os recursos necessários!

Tenta verificar as configurações de mémória da JVM em que a “app” está rodando!

java ?Xms <size> -Xmx

-Xms - tamanho do heap inicial
-Xmx ? tamanho máximo do heap
Gu1

velhinho estou tentando ver o valor atual da jvm e até agora não achei nada que faz mostrar por um acaso você sabe como fazer isso?

valew

Criado 4 de setembro de 2009
Ultima resposta 4 de set. de 2009
Respostas 4
Participantes 4