如何在应用程序中配Proxool连接池

在数据库应用程序中,数据库连接的取得是一个耗费时间的动作,为了避免花费时间在连接的取得与关闭上,我们会将连接资源放置在一个池中,需要连接时就从池中取得,不需要连接时就将之放回池中,以求重复利用连接,连接池也担任连接数量、连接时间的控制等等动作。
  Proxool 是一个开放源码的连接池,在使用与设置上都十分的方便,Proxool 最新的版本是0.8.3,您可以在以下的网址下载:
  http://proxool.sourceforge.net/index.html
  网站上的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);
            }
               
          }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值