簡體   English   中英

Java連接池

[英]Java Connection Pooling

我搜索了連接池並閱讀了它。 如果我理解正確,連接池就像一組打開的連接。 如果建立或創建了連接,則應將其添加到連接池中,如果該連接已關閉,則應在連接池中將其刪除; 雖然它是開放的我可以一次又一次地使用它。

在閱讀這些有關連接池的教程和解釋時,我有一些問題:

  1. 是否只能在某台計算機上使用連接池? 像ComputerA無法與ComputerB共享其連接池?

  2. 應該在哪里放置connection.close()

僅在選擇/加載記錄時使用連接是否正確? 獲得返回的記錄/數據后,我在finally語句中關閉連接。 與添加,編輯和刪除記錄相同。 在處理過程中我放置了一個進度條,因此用戶必須等待它完成並再次進行一些處理,這意味着我一次只能打開一個連接。

感謝您的解釋。 :)

注意:我假設我們正在談論java.sql.Connection接口。

是否只能在某台計算機上使用連接池? 像ComputerA無法與ComputerB共享其連接池?

正在運行的應用程序和數據庫之間存在連接。 當然,兩台不同的機器不能共享同一個運行的應用程序,因此它們無法與數據庫共享連接。

應該在哪里放置connection.close()

您應該始終確保在使用它之后在Connection實例上調用close() (通常在finally塊中)。 如果正在使用池,這實際上將在后台返回到池的連接。 參考: 關閉池中的JDBC連接

僅在選擇/加載記錄時使用連接是否正確? 獲得返回的記錄/數據后,我在finally語句中關閉連接。

對,那是正確的。 您不希望手動掛起到Connection引用 - 使用它來執行SQL / DML,然后通過調用finally塊中的close()將其檢入池中,就像您正在做的那樣。

暫無
暫無

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

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