Pessoal, estou desenvolvendo uma aplicação desktop com EclipseLink 1.1. Porém, percebo que na 1ª sessão com o banco de dados, a performance é muito pequena. Sendo que as sessões posteriores já fica mais rápido. Existe uma forma de modificar isso para que a aplicação não tenha esse delay na primeira sessão com o banco?
Bom, por padrão estou criando o EntityManager singleton quando o usuário pede alguma transação. Por exemplo, um event ref ao cadastro de um CRUD:
EntityManager em = DAOFactory.createSingleton();
em.getTransaction.beginTransaction();
em.persist(pessoa);
em.getTransaction.commit();
em.close();
Criar uma conexao com um banco de dados é sempre “custoso”.
A “demora na primeira vez” ocorre justamente por isso.
Na segunda requisição, a conexão já fica armazenada em um “pool” e por isso fica mais rápida.
Verifique as configurações do teu banco de dados. Pode tentar melhorar a velocidade por ele.
Caso deseje alguma melhora pelo codigo-fonte, poste como esta fazendo para obter as conexões.