Heim >Datenbank >MySQL-Tutorial >Sollte ich JDBC-Verbindungen aus einem Verbindungspool schließen?

Sollte ich JDBC-Verbindungen aus einem Verbindungspool schließen?

Barbara Streisand
Barbara StreisandOriginal
2024-12-06 09:39:11423Durchsuche

Should I Close JDBC Connections from a Connection Pool?

Schließen von JDBC-Verbindungen im Pool

Frage 1: Schließen von gepoolten Verbindungen

Bei Verwendung von a Beim JDBC-Verbindungspool ist es wichtig, die gepoolte Verbindung nach der Verwendung zu schließen. Entgegen der landläufigen Meinung untergräbt dies nicht den Zweck des Poolings. Stattdessen kann der Pool die zugrunde liegende tatsächliche Verbindung zurückfordern und zur Wiederverwendung verfügbar machen.

Frage 2: Standardmethode zum Abrufen von Verbindungen

Die bereitgestellte getConnection-Methode versucht dies Rufen Sie eine Verbindung aus dem Pool ab. Es greift jedoch auf den herkömmlichen DriverManager-Ansatz zurück, wenn die Poolsuche fehlschlägt. Dieser Konstruktionsfehler macht es schwierig zu bestimmen, welche Methode zur Laufzeit verwendet wird. Um ein ordnungsgemäßes Verhalten und Ressourcenmanagement sicherzustellen, verzichten Sie auf die Verwendung einer solchen Methode und entscheiden Sie sich stattdessen für einen konsistenten Ansatz, indem Sie die DataSource einmal während des Anwendungsstarts initialisieren.

Schließen von Verbindungen von anderen Methoden

Es ist wichtig, Verbindungen zu schließen, die von jeder Methode erhalten werden, unabhängig von den Implementierungsdetails. Durch die Verwendung einer try-with-resources-Anweisung oder das explizite Schließen der Ressourcen in einem „finally“-Block stellen Sie eine ordnungsgemäße Bereinigung und Rückgabe der Ressourcen an den Pool sicher.

Siehe auch:

  • [Ist es sicher, eine statische java.sql.Connection-Instanz in einem Multithread zu verwenden? System?](https://stackoverflow.com/questions/3914092/is-it-safe-to-use-a-static-javasql-connection-instance-in-a-multithreaded-sy)
  • [Verwende ich eine JDBC-Verbindung? Pooling?](https://stackoverflow.com/questions/2641371/am-i-using-jdbc-connection-pooling)

Das obige ist der detaillierte Inhalt vonSollte ich JDBC-Verbindungen aus einem Verbindungspool schließen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn