java——通過GenericObjectPool獲取到的資源,調用close()方法會close還是returnObject?


一種優雅的關閉資源的方式是使用try(){}cache(){}

就像這樣:

 

 這時候,try()里面的資源會在return語句執行結束之后自動調用close()方法,那么問題來了,當我們使用連接池的時候,並不希望資源被close,而是希望資源用完后自動returnObject(),那么這種優雅的try語句是不是不能使用了呢?

是可以的哦~

 

 

 

 

 

 從上面可以看出,實際上pool對放進去的連接有了額外的一層封裝,實際上是通過動態代理的方式創建連接,而這些連接的close()方法被重新定義了,在調用close方法時候實際上是調用了returnObject()方法~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM