O DynaAction consome muita memoria mesmo, o ideal é “Apreciar com Moderação”, principalmente se você esta usando para fazer telas Grid com muitos registros, com edição de varios campos. No meu caso aqui, reduzi o numero de telas com grid usando DynaAction e onde eu ainda utilizo trabalho com vector na session, ao sair do programa faço a remoção do Vector imediatamente da Session. Consegui reduzir significativamente o consumo de memoria no meu sistema aqui.
walacy
O problema aqui é que todos os DynaAction são criados com o mesmo tamanho e com pelo menos 23mb…
Estranho isso, o numero de registro com os quais você popula o dynaaction é igual ? Você esta setando na session ?
walacy
É o DynaAction que o Struts cria…
Todos saem com o mesmo tamanho…
Tô pensando que tem a ver com um extends…
todas estendem uma outra classe… deve ter algum objeto gigante lá…
O problema é que os objetos não somem da memoria…
joao.junior
Certo, com certeza tem algo sim, objetos do mesmo tamanho. Sem visualizar o contexto em que se aplica estas classes fica é meio sem jeito de opinar.
Você tem que fazer um Reset no Map do DynaAction, quando não for usar mais ele, pelo que entendi o Objeto do DynaAction perdura na memoria se não for marcado para que o GC remova ele.