Bom dia pessoal!!
Estou com o seguinte problema…
Eu faço acesso a um arquivo Access via ponte JDBC-ODBC…a conexão funciona perfeitamente e tals…
tenho um metodo numa classe DAO que me retorna uma list:
public List<T> listaTudo() {
/**
* Método que lista todos os Eventos do arquivo mdb,
*
*/
return this.session.createCriteria(this.classe).list();
}
mas este método esta estourando meu heap size…o eclipse já esta abrindo com 200MB e o javaw da aplicaçao chega a 115MB e estoura…nao tenho muito como aumentar isso…e não consegui ver onde possa estar vazando…
A tabela Access é simples sem relacionamentos…tem 13 atributos… e 130 000 entradas…
Quando acesso outros arquivos menores vai tranquilo…
Em uma manobra porca eu tentei pegar de um em um…
como eu já tinha um metodo procura(int):
public T procura(Long l) {
return (T) this.session.load(this.classe, l);
}
e fiz um for pra ver ond estoura…e estoura com 68000 entradas rodadas…
Tentei ver se tinha mto objeto sendo largado…mas…o codigo ta bem simples…os objetos da lista nao estao referenciados…deveriam ir pro garbage colector…eu acho…hehe
DAO<Event> dao = new DAOFactory(new Event())
.getHibernateEventAccessDAO();
for (int i = 1; i < dao.getLastAccessEvent(); i++) {
System.out.println(dao.procura(i));
}
Alguem tem alguma luz?
Valeu!!!
[]s