C3P0與PROXOOL初步介紹

C3P0:C3P0是一個開放源代碼的JDBC連接池,它在lib目錄中與Hibernate一起發佈,包括了實現jdbc3和jdbc2擴展規範說明的Connection 和Statement 池的DataSources 對象。(最新版本:c3p0-0.9.2-pre1.src.zip)

Proxool:是一個Java SQL Driver驅動程序,提供了對你選擇的其它類型的驅動程序的連接池封裝。可以非常簡單的移植到現存的代碼中。完全可配置。快速,成熟,健壯。可以透明地爲你現存的JDBC驅動程序增加連接池功能。(最新版本:proxool-0.9.1.zip)

(以上提供最新的版本爲文章發表時爲準)

 

C3P0 : 提供兩種獲得連接的方式。

第一種以ComboPooledDataSource類獲得;

ComboPooledDataSource cpds = new ComboPooledDataSource();

cpds.setDriverClass("com.mysql.jdbc.Driver");

cpds.setJdbcUrl("jdbc:mysql://localhost:3306/test");

cpds.setUser("root");

cpds.setPassword("123456");

第二種以DataSources類獲得;

DataSource ds_unpooled = DataSources.unpooledDataSource("jdbc:mysql://localhost:3306/test", "root", "123456"); DataSource ds_pooled = DataSources.pooledDataSource( ds_unpooled );

兩種方式取得是相同的效果,在spring中常見使用第一種方式獲得DataSource,在Hibernate中使用第二種方式獲得DataSource。具體使用可以根據自己的喜好。C3P0暫時不支持JDBC4。獲得的Connection實例爲com.mchange.v2.c3p0.impl.NewProxyConnection。

 

Proxool:提供一種通過DriverManager直接獲得Connection,另一種是ProxoolDataSource得到DataSource。

第一種通過DriverManager直接獲得Connection;

Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");

JAXPConfigurator.configure(“proxool.xml”, false);

ProxoolFacade.addConnectionListener("DBPool", new ConnectionListenerIF());

註冊proxool數據連接池的alias。具體的操作將在後續的文章中介紹或看Api。

通過Proxool獲得Connection是數據庫提供的Driver中的Connection的實例。

其兼容性較好,可以兼容到JDBC4的一些功能。

 

本人暫時接觸到這兩種數據庫連接池。如果有好的介紹,請留言。謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章