程序裏用到C3P0連接池,用如下方法獲取一個鏈接:
_ds = new ComboPooledDataSource();
...
Connection conn = _ds.getConnection();
而在釋放鏈接的時候,我們一般是這樣寫的:
conn.close();
今天我突然感覺,如果這樣釋放連接,conn這個鏈接應該就完全關閉了,而不是連接池的"將不用的鏈接重新回收",如果是這樣的話,連接池的優勢也就無法體現出來了。
進過一番搜索,確定了這樣釋放是沒問題的,理由如下:從連接池中取得的connection 實例是經過二次封裝的,對close方法進行了重寫,不會直接個關閉掉物理連接,而是重新
把連接放回連接池。