1,下載與安裝
http://proxool.sourceforge.net/ 頁面下載jar文件,將路徑加入到project的buildpath里面
2,配置
在proxool主站的配置頁下,介紹了5種配置proxool連接池的方法,當然目前最直接最方便和通用的無疑是強大的xml技術,因此我們采用的就是利用xml配置文件進行配置的方法。
下面是一段配置文件proxool.xml的示例(數據庫采用的是sqlserver):
1 <?xml version="1.0" encoding="UTF-8"?>
2 <something-else-entirely>
3 <proxool>
4 <alias>your_own_name</alias>
5 <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=database_name</driver-url>
6 <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
7 <driver-properties>
8 <property name="user" value="xxxxxx"/>
9 <property name="password" value="xxxxxx"/>
10 </driver-properties>
11 <maximum-connection-count>5</maximum-connection-count>
12 <minimum-connection-count>2</minimum-connection-count>
13 <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
14 </proxool>
15 <proxool>
16 <alias>xxxx</alias>
17 <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=another_database_name</driver-url>
18 <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
19 <driver-properties>
20 <property name="user" value="xxxxxx"/>
21 <property name="password" value="xxxxxx"/>
22 </driver-properties>
23 <maximum-connection-count>5</maximum-connection-count>
24 <minimum-connection-count>2</minimum-connection-count>
25 <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
26 </proxool>
27 </something-else-entirely>
28
2 <something-else-entirely>
3 <proxool>
4 <alias>your_own_name</alias>
5 <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=database_name</driver-url>
6 <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
7 <driver-properties>
8 <property name="user" value="xxxxxx"/>
9 <property name="password" value="xxxxxx"/>
10 </driver-properties>
11 <maximum-connection-count>5</maximum-connection-count>
12 <minimum-connection-count>2</minimum-connection-count>
13 <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
14 </proxool>
15 <proxool>
16 <alias>xxxx</alias>
17 <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=another_database_name</driver-url>
18 <driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
19 <driver-properties>
20 <property name="user" value="xxxxxx"/>
21 <property name="password" value="xxxxxx"/>
22 </driver-properties>
23 <maximum-connection-count>5</maximum-connection-count>
24 <minimum-connection-count>2</minimum-connection-count>
25 <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
26 </proxool>
27 </something-else-entirely>
28
配置文件中的一些內容需要修改成自己項目對應的信息。
1.<alias> :為該連接池起一個別名,在其他文件中引用。引用是:(proxool.your_own_name);
2. <driver-url>jdbc:microsoft:sqlserver://ip.ip.ip.ip:1433;DatabaseName=another_database_name</driver-url>
<driver-class>com.microsoft.jdbc.sqlserver.SQLServerDriver</driver-class>
<driver-properties>
<property name="user" value="xxxxxx"/>
<property name="password" value="xxxxxx"/>
</driver-properties>
這些配置大家應該比較熟悉吧。配置JDBC連接不同數據庫的驅動類和連接URL。
4.<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
proxool在未斷開的連接空閑的時候 會隔段時間執行這條sql語句以維持連接
5.<maximum-new-connections>:指因未有空閑連接可以分配而在隊列中等候的最大請求數,超過這個請求數的用戶連接就不會被接受。
6.<prototype-count>:最少保持的空閑連接數。
7.<maximum-connection-count>: 允許最大連接數,超過了這個連接,再有請求時,就排在隊列中等候,最大的等待請求數由maximum-new-connections決定
8.<minimum-connection-count>:最小連接數
3.初始化連接池
在proxool的包中有這樣一個類org.logicalcobwebs.proxool.configuration.JAXPConfigurator可以接收xml配置文件解析并進行初始化連接池。
1 JAXPConfigurator.configure("src/java-test/org/logicalcobwebs/proxool/configuration/proxool.xml", false);
2 // The false means non-validating
2 // The false means non-validating
一般使用包裝好的org.logicalcobwebs.proxool.configuration.ServletConfigurator類進行解析
如果在tomcat啟動的時候web.xml中加入ServletConfigurator類的servlet配置并將此servlet的加載順序提前 那么此連接池在啟動的時候就會創建好
<servlet>
<servlet-name>proxoolServletConfigurator</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<param-value>WEB-INF/proxool.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-name>proxoolServletConfigurator</servlet-name>
<servlet-class>org.logicalcobwebs.proxool.configuration.ServletConfigurator</servlet-class>
<init-param>
<param-name>xmlFile</param-name>
<param-value>WEB-INF/proxool.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
這樣以來,就能夠在程序中應用連接池進行連接數據庫了。
4.利用連接池連接數據庫
使用下面的語句:
1 connection = DriverManager.getConnection("proxool.your_own_name");
5.利用proxool提供的web化監測所配置的連接池
proxool中提供了AdminServlet監測連接池中的數據庫,利用web.xml配置其servlet mapping 就可以通過瀏覽器進行監測了。
同樣在web.xml中配置
1 <servlet>
2 <servlet-name>Admin</servlet-name>
3 <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
4 </servlet>
5 <servlet-mapping>
6 <servlet-name>Admin</servlet-name>
7 <url-pattern>/admin</url-pattern>
8 </servlet-mapping>
2 <servlet-name>Admin</servlet-name>
3 <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
4 </servlet>
5 <servlet-mapping>
6 <servlet-name>Admin</servlet-name>
7 <url-pattern>/admin</url-pattern>
8 </servlet-mapping>
具體內容很簡單,不再詳細解釋了。