我想實現一個連接池到我的Java Web應用程序的MySQL數據庫。在網上查找時,我發現了一些指南,可以將基於DriverManager的連接更改爲使用DataSource類型的連接。javax.sql.DataSource連接池混亂
從我可以從a tutorial I found from Oracle得知,DataSource會自動從內置連接池,特別是本節產生連接。
變量ds表示一個DataSource對象,它產生到數據庫COFFEEBREAK的池連接。您只需要檢索一次該DataSource對象,因爲您可以根據需要使用它來生成儘可能多的池連接。調用ds變量上的方法getConnection會自動生成池連接,因爲ds變量表示的DataSource對象已配置爲生成池連接。
然而,我發現有些地方說,數據源不便於連接池和ConnectionPoolDataSource的是,做類型。所以我對此有點困惑。
那麼DataSource做連接池嗎?如果是這樣,它會自動化嗎?是否將所有的servlet設置爲初始化以建立連接?有沒有更直接的指導/資源來了解這一點?
抱歉的問題串,任何幫助或點在正確的方向將不勝感激。
你完全錯過了這一點。前面幾段講述了使用* DataSource *的* specific *實現* do *提供連接池。 Apache DBPC就是這樣。然後教程繼續說明,使用這樣的源代碼在語法上與使用任何其他'DataSource相同。「 – EJP
您不應該直接使用」javax.sql.ConnectionPoolDataSource「的實現,它應該被連接池使用,它不會(或不應該)自己提供連接池。 –