C3P0 配置

  1. C3P0(独立链接池使用)
private static ComboPooledDataSource cpDataSource = null;;  
    
    private static WebPooledConn instance = null;  
    
    private WebPooledConn(){}
    
    static{
    	try  
        {   
    		// (1) 初始化链接池设置
    		cpDataSource = new ComboPooledDataSource();  
    		cpDataSource.setDriverClass(DBClassName);  
    		cpDataSource.setJdbcUrl(DBUrl);  
    		cpDataSource.setUser(DBUser);  
    		cpDataSource.setPassword(DBPassword);  
              
    		cpDataSource.setInitialPoolSize(3);  //初始链接数
    		cpDataSource.setMinPoolSize(0);      //最小链接数
    		cpDataSource.setAcquireIncrement(5); //当链接池中的链接耗尽的时候c3p0一次同时获取的链接数。Default: 3
    		cpDataSource.setMaxPoolSize(20);     //最大链接数
    		/**
    		 * (单位:毫秒)当链接池用完时客户端调用getConnection()后等待获取新链接的时间,超时后将抛出 
			 * SQLException,如设为0则无限期等待。单位毫秒。Default: 0
    		 */
    		cpDataSource.setCheckoutTimeout(1000*60);
    		cpDataSource.setMaxIdleTime(60);  //(单位:秒) 最大空闲时间,60秒内未使用则链接被丢弃。若为0则永不丢弃。Default: 0
    		cpDataSource.setIdleConnectionTestPeriod(60); //(单位:秒) 每60秒检查全部链接池中的空闲链接。Default: 0 (0:永远不检查)
    		cpDataSource.setAcquireRetryAttempts(30); //定义在从数据库获取新链接失败后重复尝试的次数。Default: 30
    		cpDataSource.setAcquireRetryDelay(1000); //(单位:毫秒) 两次链接中间隔时间,单位毫秒。Default: 1000
    		cpDataSource.setAutoCommitOnClose(false); //链接关闭时默认将全部未提交的操做回滚。Default: false
    		/**
    		 * 获取链接失败将会引发全部等待链接池来获取链接的线程抛出异常。可是数据源仍有效 
    		 * 保留,并在下次调用getConnection()的时候继续尝试获取链接。若是设为true,那么在尝试 
    		 * 获取链接失败后该数据源将申明已断开并永久关闭。Default: false
    		 */
    		cpDataSource.setBreakAfterAcquireFailure(false);
        }  
        catch (Exception e)  
        {  
            e.printStackTrace();  
        }  
    }
相关文章
相关标签/搜索