proxool连接池

来源:互联网 发布:电话定位追踪 软件 编辑:程序博客网 时间:2024/05/08 17:49

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();
  }
 }

原创粉丝点击