Java heap space no JPA

1 resposta
B

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;
    }
}
Método que chama a classe de conexão e persiste os dados:
@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.

1 Resposta

B

Ninguém sabe?

Criado 30 de novembro de 2010
Ultima resposta 30 de nov. de 2010
Respostas 1
Participantes 1