学习dbcp连接池----各个参数的基本含义

[b]BasicDataSource[/b]

/**
* Creates a JDBC connection factory for this datasource. This method only
* exists so subclasses can replace the implementation class.
*/
[b]protected ConnectionFactory createConnectionFactory()[/b] throws SQLException {
。。。。。。。。。。。。
。。。。。。。。。。。。
if (validationQuery == null) {//测试的sql语句
setTestOnBorrow(false);
setTestOnReturn(false);
setTestWhileIdle(false);
}
。。。。。。。。。。。。
。。。。。。。。。。。。
}

[b]protected void createConnectionPool[/b]() {
// Create an object pool to contain our active connections
GenericObjectPool gop;

//abandonedConfig.setRemoveAbandoned(removeAbandoned); 是否清理为关闭的活动连接
//abandonedConfig.setRemoveAbandonedTimeout(removeAbandonedTimeout); 多长时间未使用为超时时间
//abandonedConfig.setLogAbandoned(logAbandoned); 连接池收回空闲的活动连接时是否打印消息

if ((abandonedConfig != null) && (abandonedConfig.getRemoveAbandoned())) {
gop = new AbandonedObjectPool(null,abandonedConfig);
}
else {
gop = new GenericObjectPool();
}
gop.setMaxActive(maxActive);//连接池支持的最大连接数
gop.setMaxIdle(maxIdle);//最多空闲多少
gop.setMinIdle(minIdle);//最少空闲多少
gop.setMaxWait(maxWait);//连接池中连接用完时,新的请求等待时间,毫秒
gop.setTestOnBorrow(testOnBorrow);//获取连接时是否测试一下
gop.setTestOnReturn(testOnReturn);//归还连接时是否测试一下


gop.setTestWhileIdle(testWhileIdle);//是否检测空闲池
gop.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRunsMillis);//空闲池清理线程休眠时间
gop.setMinEvictableIdleTimeMillis(minEvictableIdleTimeMillis);//空闲池中连接超时时间
gop.setNumTestsPerEvictionRun(numTestsPerEvictionRun);//空闲池清理线程时每次test几次

connectionPool = gop;
}
需要注意的是removeAbandoned的配置不同最后建立的连接池是不一样的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值