Consumo de memória/liberação de objetos em memória

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.