PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como gerenciar conexões db no servidor?


Mantendo uma Connection aberto para sempre é uma péssima ideia. Ele não tem um tempo de vida infinito, seu aplicativo pode travar sempre que o banco de dados expirar a conexão e fechá-la. A prática recomendada é adquirir e fechar Connection , Statement e ResultSet no mais curto escopo possível para evitar vazamentos de recursos e possíveis falhas de aplicativos causadas por vazamentos e tempos limite.

Como conectar o banco de dados é uma tarefa cara, você deve considerar o uso de um pool de conexões para melhorar o desempenho da conexão. Um applicationserver/servletcontainer decente geralmente já fornece um recurso de pool de conexão no sabor de um JNDI DataSource . Consulte sua documentação para obter detalhes sobre como criá-lo. No caso de, por exemplo, o Tomcat, você pode encontrá-lo aqui.

Mesmo ao usar um pool de conexões, você ainda precisa escrever o código JDBC adequado:adquira e fechar todos os recursos no menor escopo possível. O pool de conexões, por sua vez, se preocupará em realmente fechar a conexão ou apenas liberá-la de volta ao pool para reutilização posterior.

Você pode obter mais alguns insights deste artigo sobre como fazer os fundamentos do JDBC da maneira correta. Como alternativa completamente diferente, aprenda EJB e JPA. Ele irá abstrair todo o clichê JDBC para você em oneliners.

Espero que isto ajude.

Veja também:

  • É seguro usar uma instância java.sql.Connection estática em um sistema multithread?
  • Estou usando o pool de conexões JDBC?
  • Como devo me conectar ao banco de dados / fonte de dados JDBC em um aplicativo baseado em servlet?
  • Quando é necessário ou conveniente usar Spring ou EJB3 ou todos eles juntos?