簡體   English   中英

使用proxool時,是否需要顯式關閉每個getConnection()?

[英]When using proxool, do I need to explicitly close every getConnection()?

我正在編寫新的數據庫連接代碼,並認為我會嘗試使用proxool作為連接池實現程序。

通常,程序員將確保每個DriverManager.getConnection(...)后面都帶有connection.close()。

但是在使用Proxool時,需要關閉嗎? 我很困惑,因為:

一種。 這里的proxool文檔( http://proxool.sourceforge.net/quickStart.html )顯示了被調用的close(),

b。 我讀過某個地方,proxool添加了關閉鈎子,這些鈎子會在程序退出時關閉所有連接。

我的程序最關心的是性能(每秒高達200 DB寫),因此我不確定Proxool的getConnection()/ close()將如何影響性能。

我的問題是:

  1. 是否需要close(),還是可以依靠Proxool來關閉我的連接?

  2. 如果我每次必須自己顯式調用close(),那會對性能產生不利影響嗎?

提前致謝。

數據庫池通常會子類化/修飾連接,以便close()方法(如果由應用程序調用)實際上不會關閉連接,而是將其釋放回池中。 這樣做是出於性能方面的考慮,因為每次建立新連接的成本都很高,而且為了提高用戶/連接率。

這就是說,你確實需要調用connection.close() ,從而讓池中知道你不再使用它,它可以請求它提供給下一個線程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM