Olá comunidade,
Estou com um problema de java heap space no JPA.Depois de executar várias vezes o método "processar" abaixo, ele me gera a exceção de java heap space ao criar o "emf".Alguém pode me ajudar a identificar esse problema?
Classe de conexão:public class Conexao {
private static Conexao instance = null;
private EntityManagerFactory emf = null;
private EntityManager em = null;
private Conexao() {
emf = Persistence.createEntityManagerFactory("PU");
em = emf.createEntityManager();
}
public synchronized static Conexao getInstance() {
if (instance == null) {
instance = new Conexao();
}else if (instance != null && !instance.getEm().isOpen()) {
instance = null;
instance = new Conexao();
}
return instance;
}
public void setEm(EntityManager em) {
this.em = em;
}
public EntityManager getEm() {
return em;
}
}
@Override
public void processar(HttpServletRequest request, HttpServletResponse response) throws Exception {
EntityManager em = null;
try {
em = (EntityManager) Conexao.getInstance().getEm();
em.getTransaction().begin();
Usuario usuario = new Usuario();
usuario.setLogin(request.getParameter("nome").trim());
new UsuarioDao(em).salvar(usuario);
em.getTransaction().commit();
} catch (Exception e) {
em.getTransaction().rollback();
e.printStackTrace();
} finally {
if (em.isOpen()) {
em.clear();
em.close();
}
}
}
Obrigado pela ajuda.