zoukankan      html  css  js  c++  java
  • proxool在web环境中的使用

    proxool在web环境中的使用

    简介

         Proxool连接池是sourceforge下的一个开源项目,这个项目提供一个健壮、易用的连接池,最为关键的是这个连接池提供监控的功能,方便易用,便于发现连接泄漏的情况。开源项目地址是:http://proxool.sourceforge.net/

          Proxool提供了很多配置属性,其属性意义如下,当然还是建议直接查看官方文档http://proxool.sourceforge.net/properties.html

     目录:

    1. 配置Proxool.xml

    2. 配置web.xml

    3. 获取连接

                                                                          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>

    <!--这是MySQL的写法,各个数据库有差异-->
        <house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql> 
    <!--这是Oracle的写法,各个数据库有差异-->
         <house-keeping-test-sql>select sysdate from dual</house-keeping-test-sql>  
      </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>
    <!--proxool.xml配置文件所在的位置-->
    <param-value>WEB-INF/proxool.xml</param-value>
          </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>

                   3.获取连接
    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.PreparedStatement;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    
    /**
     * @author ctd
     *
     */
    public class DBUtils {
      
        private static DBUtils me=new DBUtils();
        
        private DBUtils() {}
        
        public static DBUtils getInstance()
        {
            return me;
        }
        
        /**
         * 获取数据库连接
         * @return
         */
        public Connection getConn()
        {
            
            Connection conn=null;
            
            try {
                //查看类路径中是否存在这个驱动入口类
                Class.forName("org.logicalcobwebs.proxool.ProxoolDriver");
                conn=DriverManager.getConnection("proxool.dbname");//proxool.数据库别名
                
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } 
            
            return conn;
            
        }
        
        /**
         * 释放数据库资源
         * @param conn
         * @param pstmt
         * @param rset
         */
        public void ReleaseRes(Connection conn,PreparedStatement pstmt,ResultSet rset)
        {
            try{
              if(rset!=null) rset.close();
              if(pstmt!=null) pstmt.close();
              if(conn!=null)  conn.close();
            }catch(SQLException e)
            {
                e.printStackTrace();
            }
        }
    }
    
    
    
     

                                                                                                                                                                                              

     

  • 相关阅读:
    JS打印代码示例
    javascript图片360°旋转
    动态载入/删除/更新外部 JavaScript/Css 文件
    AviSynth入门与应用指南
    汇编64讲(搞免杀、破解必看)在线观看
    C#模拟登录总结
    同时使用apache和IIS,共用80端口的一个解决方案
    Dos命令集合
    批处理for命令详解
    JavaScript定义类的几种方式
  • 原文地址:https://www.cnblogs.com/bmbi/p/5059240.html
Copyright © 2011-2022 走看看