3
respostas

Pool de conexões e o OpenSessionInView

No padrão OpenSessionInView, foi visto que se abre uma conexão por cliente conectado. Quando não se está usando esse padrão, como é feito o gerenciamento de conexões?

3 respostas

Bem, na verdade o que rola é seguinte. No Padrão OpenSessionInView, não é aberta uma conexão por cliente, mas sim, uma conexão por request, e a mesma é fechada ao final da requisição.

O "gerenciamento de conexões" não é feito nesse momento. O gerenciamento das conexões nesse curso é realizado através de um Pool de conexões, esse sim é responsável por otimizar o número de conexões que serão abertas.

Outra estratégia(padrão) de gerenciamento de conexões é o Singleton, que cria um conexão única para todos os clientes.

OK, mas quando não se está usando o OpenSessionInView, em que momento são criadas e fechadas a s conexões? É aberta quando eu instancio uma EntityManager e é fechada quando o EntityManager é fechado, correto?

Correto.