连接池(Proxool实现)

翻译 2012年03月28日 12:45:00

1,在项目中的 WEB-INF 目录下建立 proxool.xml 文件(在其他目录也行,只要能找到就行),内容为:

 

<?xml version="1.0" encoding="UTF-8"?>

<proxool>
    <!-- 数据库连接别名,通过 proxool.15DayWeb 来获取此连接 -->
    <alias>15DayWeb</alias>
    <!-- 数据库驱动 -->
    <driver-url>jdbc:mysql://localhost:3306/15dayweb</driver-url>
    <!-- 驱动程序类 -->
    <driver-class>com.mysql.jdbc.Driver</driver-class>
    <!-- 联机数据库的用户和密码 -->
    <driver-properties>
        <property name="user" value="root" />
        <property name="password" value="root" />
    </driver-properties>
    <!-- 最小连接数量,建议设置0以上,保证第一次连接时间 -->
    <minimum-connection-count>2</minimum-connection-count>
    <!-- 最大连接数量,如果超过最大连接数量则会抛出异常
            连接数设置过多,服务器CPU和内存性能消耗很大 -->
    <maximum-connection-count>20</maximum-connection-count>
    <!-- 某一时间点的最大连接数 -->
    <simultaneous-build-throttle>10</simultaneous-build-throttle>
    <!-- 一次性产生连接的数量 -->
    <prototype-count>2</prototype-count>
    <!-- 连接最大时间活动 默认5分钟 单位:秒 -->
    <maximum-active-time>120</maximum-active-time>
    <!-- 连接最大生命时间 默认4小时 单位:秒 -->
    <maximum-connection-lifetime>600</maximum-connection-lifetime>
</proxool>


 


2,在项目中 web.xml 中添加所配置的数据源,在 web-app 下添加如下内容:

<!-- 配置数据源 -->
<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>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<!-- proxool提供的管理监控工具,可查看当前数据库连接情况。 -->
<servlet>
    <servlet-name>Admin</servlet-name>
    <servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
</servlet>  
<servlet-mapping>
    <servlet-name>Admin</servlet-name>
    <url-pattern>/admin</url-pattern>
</servlet-mapping>

 

对于管理监视工具,如果不使用可以不进行配置。

 


3,测试:

    // 获取数据库连接
    public void getConnection() throws Exception {
        
        if (conn == null) {
            //proxool驱动类
            Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
            // 此处的DBPool是在proxool.xml中配置的连接池别名
            conn = DriverManager.getConnection("proxool.15DayWeb");
        }
    }

    // 数据库访问,执行查询操作
    public ResultSet query(String sql) throws Exception {
        // 初始化数据库连接
        getConnection();
        // 创建 Statement 对象
        Statement stmt = conn.createStatement();
        // 构造 sql 语句
        sql = "select * from about_team_table";
        return stmt.executeQuery(sql);
    }

    // 测试是否可以正常读取表 about_team_table 的数据
    public static void main(String[] args) throws Exception {

        DbDao dd = new DbDao();
        ResultSet rs = dd.query("");
        while (rs.next()) {
            System.out.println(rs.getInt("id"));
            System.out.println(rs.getString("name"));
            System.out.println(rs.getString(3));
            System.out.println(rs.getString(4));
            System.out.println(rs.getBinaryStream("photo"));
        }
    }


 

 

附:

http://proxool.sourceforge.net/index.html

可以正常使用,测试中不主动关闭连接,在监视工具中当超过活动连接时间自动销毁,不过在使用中还是要释放连接的,连接的最大数毕竟是有限的。

tomcat 版本:apache-tomcat-6.0.18

JDK 版本:jdk-6u11-windows-i586-p

NetBeans版本:netbeans-6.5-ml-windows

proxool 版本:proxool-0.9.1

 

Hibernate支持第三方的连接池,官方推荐的连接池是C3P0,Proxool,以及DBCP

 

proxool连接池的实现2

作为开源的连接池Proxool有以下优点 透明性   可以明的添加接连池而不影响你原来的项目的JDBC代码; 开放性 你可以方便的与其它的开源产品进行整合。如hibernate  中自带的这个P...
  • vipyhd
  • vipyhd
  • 2012年08月12日 21:46
  • 241

proxool数据库连接池jar

  • 2013年07月06日 16:00
  • 38KB
  • 下载

DBCP、C3P0、Proxool 、 BoneCP开源连接池的比较

简介   使用评价  项目主页  DBCP DBCP是一个依赖Jakarta commons-pool对象池机制的数据库连接池.DBCP可以直接的在应用程序用使用 ...
  • sbvfhp
  • sbvfhp
  • 2013年06月26日 09:43
  • 3804

数据连接池用法(boncp,dbcp,proxool,C3PO)

摘要: C3PO数据库连接池优点:性能比较dbcp好,稳定性也比dbcp强将C3po跟spring整合1.导入c3p0-0.9.1.2.jar,commons-logging-1.1.1.jar,sp...

c3p0、proxool、dbcp数据库连接池

  • 2015年12月22日 21:04
  • 5.92MB
  • 下载

proxool+mysql+tomcat连接池所需jar包

  • 2014年06月06日 20:08
  • 1.11MB
  • 下载

Proxool连接池解析(上)

一  概念       几乎所有的应用程序都不可避免地要与数据库打交道,需要建立数据库连接以便执行数据库操作。 然而, 建立数据库连接是一个开销很大的操作(见《SQL语言艺术》P30):  1. ...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:连接池(Proxool实现)
举报原因:
原因补充:

(最多只允许输入30个字)