使用 proxool 连接池获取连接

这个连接池可以自动识别坏连接的,建议网络环境不稳定的情况下使用

 

使用方法很简单:

1 导入jar文件: proxool-0.9.0RC3.jar和commons-logging.jar(从 http://proxool.sourceforge.net/ 下载)

2 在WEB-INF目录下创建proxool.xml文件:

 <?xml version="1.0" encoding="ISO-8859-1"?>

<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->

<something-else-entirely>
<proxool>
<alias>oracle</alias>
<driver-url>jdbc:oracle:thin:@172.168.1.1:1521:dbtest</driver-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<driver-properties>
<property name="user" value="u"/>
<property name="password" value="p"/>
</driver-properties>
<maximum-connection-count>10</maximum-connection-count>
<house-keeping-test-sql>select sysdate from  YOUR_TABLE_NAME</house-keeping-test-sql>
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<maximum-new-connections>10</maximum-new-connections>
<prototype-count>5</prototype-count>
<maximum-connection-count>50</maximum-connection-count>
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
3 在web.xml里添加

<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>

4可以自己写个类似的类来获取或关闭连接

public class DBUtil {
   public static Connection getConnection()  {
   Connection con=null;
   try{
    con=DriverManager.getConnection("proxool.oracle");
    } catch (SQLException e) {
    // TODO 自动生成 catch 块
    e.printStackTrace();
   }
   return con;
   
  }

  public static void releaseResultSet(ResultSet rs) {
   // TODO 自动生成方法存根
   try{
    if(rs!=null){
     rs.close();
    }
    
   }catch( Exception e){
    e.printStackTrace();
    
   }
   
  }

  public static void releaseStatement(PreparedStatement ps) {
   // TODO 自动生成方法存根
   try{
               if(ps!=null){
                ps.close();
    }
    
   }catch( Exception e){
    e.printStackTrace();
    
   }
  }

  public static void releaseConnection(Connection con) {
   // TODO 自动生成方法存根
   try{
                if(con!=null){
                 con.close();
                 
    }
    
   }catch( Exception e){
    e.printStackTrace();
    
   }
  }

  public static void releaseStatement(Statement ps) {
   // TODO 自动生成方法存根
   try{
                if(ps!=null){
                 ps.close();
    }
    
   }catch( Exception e){
    e.printStackTrace();
    
   }
  }

 }

你可能感兴趣的:(使用 proxool 连接池获取连接)