Dict.CN 在线词典, 英语学习, 在线翻译

都市淘沙者

荔枝FM Everyone can be host

统计

留言簿(23)

积分与排名

优秀学习网站

友情连接

阅读排行榜

评论排行榜

在应用程序中配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);
            }
               
          }

    }
}
程序运行过程如下:

C:\test>email.bat

C:\test>set CLASSPATH=c:\test\jar\proxool-0.8.3.jar;c:\test\jar\mysql-connector-
java-5.0.0-beta-bin.jar;.;c:\jdk1.5\lib

C:\test>javac DBTest.java

C:\test>java DBTest
2006-1-4 13:35:03 org.logicalcobwebs.proxool.ProxoolFacade registerConnectionPoo
l
信息: Proxool 0.8.3 (14-Dec-2003 16:06)
数据连接测试成功!
zz3zcwb@sina.com
webcn@staff.sina.com.cn
kf@sina.net
baoliao@vip.sina.com
miaoxinyu@staff.sina.com.cn
weidong@staff.sina.com.cn
fatwen@vip.sina.com.cn
zhuangao@vip.sina.com
young@staff.sina.com.cn
ucservice@51uc.com
webmaster@csdn.net
adv@csdn.net
tangqi@csdn.net
chinajsp@hotmail.com

C:\test>

posted on 2006-04-26 15:28 都市淘沙者 阅读(1118) 评论(1)  编辑  收藏 所属分类: Oracle/Mysql/Postgres/

评论

# re: 在应用程序中配Proxool连接池 2006-08-20 22:06 buffon

Proxool.properties文件应该放在哪里?我这里总是提示找不到Proxool.properties  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: