sql >> Databasteknik >  >> RDS >> Oracle

JDBC grundläggande koncept, Pooling och Threading

Anslutningspooler dekorerar Connection- och Statement-instanser med sina egna omslagsimplementeringar. När du ringer nära på en anslutning släpper du faktiskt bara tillbaka den till poolen. När du ringer nära på ett förberett uttalande släpper du faktiskt bara tillbaka det till anslutningens uttalande cache. När du förbereder en sats kanske du bara hämtar en cachad satsinstans från anslutningen. Allt detta är dolt så att du inte behöver oroa dig för det.

När en anslutning ges till en klient är den inte längre tillgänglig för någon annan klient att använda tills anslutningen släpps tillbaka till poolen. Du hämtar vanligtvis bara anslutningar när du behöver dem och returnerar dem så fort du är klar med dem. Eftersom anslutningarna hålls öppna i poolen finns det lite omkostnader för att hämta och släppa anslutningar.

Du bör använda en anslutning från poolen precis som du skulle använda en enda JBDC-anslutning och följa bästa praxis för att stänga resurser så att du inte läcker några anslutningar eller uttalanden. Se försök/fånga/äntligen exemplen i några av de andra svaren.

Pooler kan hantera anslutningsresurserna och testa dem innan de delar ut dem till klienter för att säkerställa att de inte är inaktuella. En pool kommer också att skapa och förstöra anslutningar efter behov.



  1. PostgreSQL date C# DateTime

  2. Hur optimerar man denna komplicerade EAV MYSQL-fråga?

  3. Använder Oracle kortslutningsutvärdering?

  4. MYSQL ställer in tidszon i PHP-kod