Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Exercicio - Classe JPAUtil.

Uma dúvida: Reparei que no console apareceu a seguinte mensagem: INFO: HHH000115: Hibernate connection pool size: 20 Essa mensagem significa que ele criou um pool de 20 conexões para que não tenha que criar uma conexão toda hora?

3 respostas

Thiago, boa tarde!

O pool de conexões são "instâncias" de conexões com o banco de dados que o servidor de aplicação/hibernate mantém e gerencia para você.

Essa opção é configurável no console administrativo do seu servidor de aplicação.

Espero ter ajudado!

Sim, com relação ao pool de conexões eu tenho o entendimento. Gostaria de entender, se existe algum modo no qual eu possa deixar esse gerenciamento de conexões em algum modo automático? Ou seja, o próprio hibernate gerenciando o pool de conexões ou manualmente como nesse caso em que ele aparentemente criou 20 conexões e eu tendo que alterar para um determinado número de conexões?

solução!

O pool de conexões serve para evitar sobrecarregar (e até derrubar) o servidor de banco de dados. Cada vez que você abre uma transação na JPA, você abre uma conexão com o banco de dados, um processo via rede. Com o pool você limita que o sistema não abra várias conexões com o servidor descontroladamente e prejudique o desempenho do mesmo e até mesmo de outras aplicações.

O próprio Hibernate tem a configuração padrão de um connection pool, porém não é recomendado!!! Opte por usar um gerenciador específico. Se for um aplicativo web, configure um Datasource. Os servidores de aplicação Java possuem configurações otimizadas para lidar com bancos de dados. Se não for web, use um framework como o C3P0.

Em ambos os casos você pode configurar os valores de conexões mínimas a serem abertas (para reservar) e o máximo (para limitar), configurar o tempo de ociosidade que uma conexão deve ter, etc.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software