标签:
Proxool 简介
Proxool连接池是sourceforge下的一个开源项目,这个项目提供一个健壮、易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。开源项目地址是:http://proxool.sourceforge.net/
Proxool提供了很多配置属性,其属性意义如下,当然还是建议直接查看官方文档http://proxool.sourceforge.net/properties.html:
1.配置Proxool.xml
<?xml version="1.0" encoding="utf-8"?>
<something-else-entirely>
<proxool>
<alias>dbname</alias> <!-- 数据源的别名 -->
<!-- 数据库连接信息 -->
<driver-url>jdbc:mysql://localhost:3306/zz</driver-url>
<driver-class>com.mysql.jdbc.Driver </driver-class>
<driver-properties>
<property name="user" value="root"/>
<property name="password" value="123123"/>
<property name="useUnicode" value="true"/> <!-- 使用unicode字符编码集 -->
<property name="characterEncoding" value="utf-8"/> <!-- 字符编码为utf-8 -->
</driver-properties>
<!-- 最大连接数 -->
<maximum-connection-count>100</maximum-connection-count>
<!-- 最小连接数 -->
<minimum-connection-count>10</minimum-connection-count>
<!-- 最小增量 -->
<simultaneous-build-throttle>10</simultaneous-build-throttle>
<!-- 定期巡检时间(毫秒) -->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<prototype-count>5</prototype-count>
<!-- 使用前检测 -->
<test-before-use>true</test-before-use>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> <!--这是MySQL的写法,各个数据库有差异-->
<house-keeping-test-sql>select sysdate from dual</house-keeping-test-sql> <!--这是Oracle的写法,各个数据库有差异-->
</proxool>
</something-else-entirely>
2.配置web.xml
<servlet>
<servlet-name>ServletConfigurator</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> <!--proxool.xml配置文件所处的位置-->
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
3.获取连接
1 import java.sql.Connection;
2 import java.sql.DriverManager;
3 import java.sql.PreparedStatement;
4 import java.sql.ResultSet;
5 import java.sql.SQLException;
6
7 /**
8 * @author ctd
9 *
10 */
11 public class DBUtils {
12
13 private static DBUtils me=new DBUtils();
14
15 private DBUtils() {}
16
17 public static DBUtils getInstance()
18 {
19 return me;
20 }
21
22 /**
23 * 获取数据库连接
24 * @return
25 */
26 public Connection getConn()
27 {
28
29 Connection conn=null;
30
31 try {
32 //查看类路径中是否存在这个驱动入口类
33 Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
34 conn=DriverManager.getConnection("proxool.dbname");//proxool.数据库别名
35
36 } catch (ClassNotFoundException e) {
37 // TODO Auto-generated catch block
38 e.printStackTrace();
39 } catch (SQLException e) {
40 // TODO Auto-generated catch block
41 e.printStackTrace();
42 }
43
44 return conn;
45
46 }
47
48 /**
49 * 释放数据库资源
50 * @param conn
51 * @param pstmt
52 * @param rset
53 */
54 public void ReleaseRes(Connection conn,PreparedStatement pstmt,ResultSet rset)
55 {
56 try{
57 if(rset!=null) rset.close();
58 if(pstmt!=null) pstmt.close();
59 if(conn!=null) conn.close();
60 }catch(SQLException e)
61 {
62 e.printStackTrace();
63 }
64 }
68 }
标签:
原文地址:http://www.cnblogs.com/bmbi/p/5059240.html