在應用程序中配Proxool連接池
????在數據庫應用程序中,數據庫連接的取得是一個耗費時間的動作,為了避免花費時間在連接的取得與關閉上,我們會將連接資源放置在一個池中,需要連接時就從池中取得,不需要連接時就將之放回池中,以求重復利用連接,連接池也擔任連接數量、連接時間的控制等等動作。 Proxool 是一個開放源碼的連接池,在使用與設置上都十分的方便,Proxool 最新的版本是0.8.3,您可以在以下的網址下載: 網站上的User Guide提供相當簡單的入門文件,您可以直接先從這些文件開始下手,而下面這個實例提供您一個快速入門的范例,讓您知道如何通過Proxool取得數據庫連接,這里所使用的是MySQL數據庫。 為了要使用Java來進行連接,首先您所需要的是當然是JDBC驅動程序,首先,要從 這里 下載驅動程序的合適的 JAR 文件。下載名為mysql-connector-java-5.0.0-beta.zip 的文件。接下來,將文件解壓縮至一個臨時目錄。最后,將包含驅動程序的文件從解壓縮的目錄結構復制到您的 CLASSPATH可以存取的位置, 在我下載的驅動程序版本中,文件的名稱是mysql-connector-java-5.0.0-beta-bin.jar 如果是桌面應用程式,您可以將之加入環境變量 CLASSPATH中。如我的BAT文件: email.bat |
|
|
set CLASSPATH=c:\test\jar\proxool-0.8.3.jar;c:\test\jar\mysql-connector-java-5.0.0-beta-bin.jar;%CLASSPATH%
你能用多種方法配置Proxool,這里我們使用屬性文件:Proxool.properties,內容如下
jdbc-0.proxool.alias=mysql
jdbc-0.proxool.driver-class=com.mysql.jdbc.Driver
jdbc-0.proxool.driver-url=jdbc:mysql://localhost:3306/email?user=root;password=
jdbc-0.proxool.maximum-connection-count=20
jdbc-0.proxool.prototype-count=4
jdbc-0.proxool.house-keeping-test-sql=select CURRENT_DATE
jdbc-0.proxool.verbose=true
jdbc-0.proxool.statistics=10s,1m,1d
jdbc-0.proxool.statistics-log-level=ERROR
其中mysql是連接池的別名(alias),是一個用來參考至連接池的名稱,取得連接,接下來就按照JDBC的操作使用即可,在不使用連接的時候,可以關閉它將連接放回連接池。
下面這個程序是個簡單測試Proxool連接取得的范例:
import java.sql.*; import org.logicalcobwebs.proxool.configuration.PropertyConfigurator; import org.logicalcobwebs.proxool.ProxoolException; public class DBTest { public static void main(String[] args) { Connection conn=null; try { PropertyConfigurator.configure("Proxool.properties"); conn = DriverManager.getConnection("proxool.mysql"); if(conn!=null) System.out.println("數據連接測試成功!"); Statement Stmt=conn.createStatement(); ResultSet Rst=null; Rst=Stmt.executeQuery("select * from email"); while(Rst.next()) System.out.println(Rst.getString("email_user")); }catch(SQLException e) { System.out.println("error"+e); }catch(ProxoolException e1){ System.out.println(e1); } finally{ try{ if (conn != null) conn.close(); }catch(SQLException e2){ System.out.println(e2); } } } }程序運行過程如下:
C:\test>email.bat
C:\test>set CLASSPATH=c:\test\jar\proxool-0.8.3.jar;c:\test\jar\mysql-connector-
java-5.0.0-beta-bin.jar;.;c:\jdk1.5\lib
C:\test>javac DBTest.java
C:\test>java DBTest
2006-1-4 13:35:03 org.logicalcobwebs.proxool.ProxoolFacade registerConnectionPoo
l
信息: Proxool 0.8.3 (14-Dec-2003 16:06)
數據連接測試成功!
zz3zcwb@sina.com
webcn@staff.sina.com.cn
kf@sina.net
baoliao@vip.sina.com
miaoxinyu@staff.sina.com.cn
weidong@staff.sina.com.cn
fatwen@vip.sina.com.cn
zhuangao@vip.sina.com
young@staff.sina.com.cn
ucservice@51uc.com
webmaster@csdn.net
adv@csdn.net
tangqi@csdn.net
chinajsp@hotmail.com
C:\test>
posted on 2006-04-26 15:28 都市淘沙者 閱讀(1120) 評論(1) 編輯 收藏 所屬分類: Oracle/Mysql/Postgres/