sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur hanterar man db-anslutningar på servern?

Att behålla en Connection öppet för alltid är en mycket dålig idé. Den har inte en oändlig livstid, din applikation kan krascha när DB:n timeout anslutningen och stänger den. Bästa praxis är att förvärva och stäng Connection , Statement och ResultSet i det kortaste möjlig omfattning för att undvika resursläckor och potentiella programkrascher orsakade av läckorna och timeouts.

Eftersom att ansluta DB är en dyr uppgift bör du överväga att använda en anslutningspool för att förbättra anslutningsprestandan. En anständig applikationsserver/servletcontainer tillhandahåller vanligtvis redan en anslutningspoolfunktion i smaken av en JNDI DataSource . Se dess dokumentation för detaljer om hur du skapar den. I fallet med till exempel Tomcat kan du hitta den här.

Även när du använder en anslutningspool måste du fortfarande skriva korrekt JDBC-kod:förvärva och stänga alla resurser på kortast möjliga omfattning. Anslutningspoolen kommer i sin tur att oroa sig för att faktiskt stänga anslutningen eller bara släppa den tillbaka till poolen för vidare återanvändning.

Du kan få lite fler insikter av den här artikeln hur du gör JDBC-grunderna på rätt sätt. Som ett helt annat alternativ, lär dig EJB och JPA. Det kommer att abstrahera bort all JDBC-platta åt dig till oneliners.

Hoppas detta hjälper.

Se även:

  • Är det säkert att använda en statisk java.sql.Connection-instans i ett flertrådat system?
  • Använder jag JDBC Connection Pooling?
  • Hur ska jag ansluta till JDBC-databas/datakälla i en servletbaserad applikation?
  • När är det nödvändigt eller bekvämt att använda Spring eller EJB3 eller alla tillsammans?


  1. Hur man skapar lagrade PL/SQL-procedurer med parametrar i Oracle-databasen

  2. Hur man använder SQL-markörer för speciella ändamål

  3. Med sqlalchemy hur man dynamiskt binder till databasmotorn per begäran

  4. IRI produktnomenklatur och arkitektur