Quando uso JPA, preciso configurar o Pool de Conexões ou o EntityManager gerencia isso para mim?
O EntityManager é um serviço central para todas as ações de persistência. Fornecendo APIs para criar consultas,sincronizar objetos e inserir objetos no bd. Também fornece armazenamento em cache de 1º nível e gerencia a interação entre entidades e o serviço transacional.
A decisão de utilizar um pool deve ser um requisito do sistema, se vc está criando uma aplicação muito simples isso não faz sentido. Mas se vai criar uma aplicação que tem uma demanda muito grande é melhor configurar o recurso do Pool de conexões.
Para isso basta adicionar uma implementação de um pool ao classpath da sua aplicação e configurar no arquivo persistence.xml.
Exemplo: Pool C3P0
…
…
Os parâmetros variam para cada implementação de Pool, consulte a documentação.
olah marcusmage,
Obrigado pela dica. Assim que eu conseguir resolver outro problema que apareceu, irei testar sua sugestao.
Olá marcusmage,
Apliquei o código e tudo funcionou corretamente. Obrigado.
Contudo, gostaria de fazer uma última pergunta: usando pool de conexão, preciso chamar o método close do EntityManager no final?
Preciso devolver/fechar de alguma forma o EntityManager que recebo? Se uma sessão pega um EntityManager e não a devolve, o pool de conexões descarta-o automaticamente caso a conexão expire?
up