1:引jar包
commons-logging-1.1.1.jar
proxool-0.9.1.jar
proxool-cglib.jar
2:写个proxool.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<proxool-config>
<proxool>
<!-- 为该连接池起一个别名,在其他文件中引用。引用是:(proxool.db); -->
<alias>db</alias>
<!-- 这些配置大家应该比较熟悉吧。配置数据库的驱动和连接。 -->
<driver-url>jdbc:oracle:thin:@192.168.0.40:1521:drcom</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriverdriver</driver-class>
<driver-properties>
<property name="user" value="scott" />
<property name="password" value="scott" />
</driver-properties>
<!-- proxool自动侦察各个连接状态的时间间隔(毫秒),
侦察到空闲的连接就马上回收,超时的销毁。 -->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- 指因未有空闲连接可以分配而在队列中等候的最大请求数,
超过这个请求数的用户连接就不会被接受。 -->
<maximum-new-connections>20</maximum-new-connections>
<!-- 最少保持的空闲连接数。 -->
<prototype-count>5</prototype-count>
<!-- 允许最大连接数,超过了这个连接,再有请求时,就排在队列中等候,
最大的等待请求数由maximum-new-connections决定 -->
<maximum-connection-count>1000</maximum-connection-count>
<!-- 最小连接数 -->
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</proxool-config>
3:在web.xml加载proxool.xml配置文件
<servlet>
<servlet-name>proxoolAdmin</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-mapping>
<servlet-name>proxoolAdmin</servlet-name>
<url-pattern>/admin</url-pattern>
</servlet-mapping>
<!--
把<load-on-startup>的值设为1,值越小级别就越高,
就先被加载初始化。一定要先于applicationContext.xml的加载。
-->
4:测试:
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
conn = DriverManager.getConnection("proxool.db");
stmt = conn.createStatement();
out.println("<br />数据库连接成功<br /><br />");
String query = "select now()";
rs = stmt.executeQuery(query);
while(rs.next()){
out.println(rs.getString(1)+"---OK");
}
stmt.close();
conn.close();
//使用main函数进行测试
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
String sql = "select now()";
try {
JAXPConfigurator.configure("src/proxool.xml", false);
conn = DriverManager.getConnection("proxool.db");
stmt = conn.createStatement();
rs = stmt.executeQuery(sql);
while(rs.next()){
System.out.println(rs.getString(1)+"-----OK");
}
}catch (Exception e) {
e.printStackTrace();
}
}