Olá,
Estou fazendo uma requisição Http que busca dados no banco, popula um objeto, retorna para Action, e a Action coloca num request.setAttribute para ser exibido na página. O problema é que mesmo depois da resposta da requisição, o objeto recuperado continua em memória. Podem me ajudar?
Sávio
Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.
[quote=pablosaraiva]Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.[/quote]
Se eu setar pra null, os dados não serão exibidos pro usuário… o que preciso que após o response esse objeto seja liberado. o GC não tá fazendo isso legal… to analisando no JProfiler, e o objeto continua lá após a resposta para o usuário, e sempre que é feita nova requisição, mais instâncias são criadas, sem que as instâncias da requisição anterior tenham morrido, ou seja: a cada requisição aumenta o número de instâncias do mesmo objeto, até que chega num momento em que isso derruba o servidor.
[]´s
Sávio
[quote=saviobarr][quote=pablosaraiva]Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.[/quote]
Se eu setar pra null, os dados não serão exibidos pro usuário… o que preciso que após o response esse objeto seja liberado. o GC não tá fazendo isso legal… to analisando no JProfiler, e o objeto continua lá após a resposta para o usuário, e sempre que é feita nova requisição, mais instâncias são criadas, sem que as instâncias da requisição anterior tenham morrido, ou seja: a cada requisição aumenta o número de instâncias do mesmo objeto, até que chega num momento em que isso derruba o servidor.
[]´s
Sávio[/quote]
O que o pablosaraiva quis dizer, é para você setar a variável para null após o response.
[quote=juliocbq][quote=saviobarr][quote=pablosaraiva]Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.[/quote]
Se eu setar pra null, os dados não serão exibidos pro usuário… o que preciso que após o response esse objeto seja liberado. o GC não tá fazendo isso legal… to analisando no JProfiler, e o objeto continua lá após a resposta para o usuário, e sempre que é feita nova requisição, mais instâncias são criadas, sem que as instâncias da requisição anterior tenham morrido, ou seja: a cada requisição aumenta o número de instâncias do mesmo objeto, até que chega num momento em que isso derruba o servidor.
[]´s
Sávio[/quote]
O que o pablosaraiva quis dizer, é para você setar a variável para null após o response.[/quote]
Eu não posso fazer nada depois do return…
Seria algo do tipo
return mapping.findForward(“sucesso”);
obj = null;
Isso não é possível…
[]´s
Sávio
Posta parte do código pra gente dar uma olhada.
Provavelmente algum lugar do código ainda está mantendo referência a esses objetos sem deixar eles serem coletados.
[quote=saviobarr][quote=juliocbq][quote=saviobarr][quote=pablosaraiva]Seta a variável que aponta para o tal objeto para null.
Se ninguém referenciar um objeto, eventualmente ele será destruído pelo garbage collector.[/quote]
Se eu setar pra null, os dados não serão exibidos pro usuário… o que preciso que após o response esse objeto seja liberado. o GC não tá fazendo isso legal… to analisando no JProfiler, e o objeto continua lá após a resposta para o usuário, e sempre que é feita nova requisição, mais instâncias são criadas, sem que as instâncias da requisição anterior tenham morrido, ou seja: a cada requisição aumenta o número de instâncias do mesmo objeto, até que chega num momento em que isso derruba o servidor.
[]´s
Sávio[/quote]
O que o pablosaraiva quis dizer, é para você setar a variável para null após o response.[/quote]
Eu não posso fazer nada depois do return…
Seria algo do tipo
return mapping.findForward(“sucesso”);
obj = null;
Isso não é possível…
[]´s
Sávio
[/quote]
Vc tem que passar null para o objeto que executa essa função.
x = obj. mapping.findForward("sucesso");
obj = null;
isso resolve seu problema.