c3p0 怎么老是挂掉啊,请大神帮忙看看

ceekay_ 2015-11-25 10:23:55
public  Connection getConnection () throws SQLException {
//对池进行四大参数的配置
ConfigInfo cf=ConfigInfo.getInstance();
try {
dataSource.setDriverClass(cf.getDbDriver());
dataSource.setJdbcUrl(cf.getDbUrl());
dataSource.setUser(cf.getDbUser());
dataSource.setPassword(cf.getDbPwd());

//池配置,可以不配,有默认值
dataSource.setAcquireIncrement(5);
dataSource.setInitialPoolSize(20);
dataSource.setMinPoolSize(10);
dataSource.setMaxPoolSize(100);
dataSource.setMaxIdleTime(60);
//dataSource.setMaxConnectionAge(60);
dataSource.setCheckoutTimeout(3000);
dataSource.setAcquireRetryDelay(1000);
dataSource.setBreakAfterAcquireFailure(false);
dataSource.setIdleConnectionTestPeriod(60);
dataSource.setMaxStatements(100);
return dataSource.getConnection();
}catch(Exception e){
e.printStackTrace();
}
return null;

}


这是信息:2015-11-25 09:44:54 [DEBUG] - com.mchange.v2.resourcepool.BasicResourcePool -BasicResourcePool.java(641) -acquire test -- pool is already maxed out. [managed: 50; max: 50]
2015-11-25 09:44:54 [DEBUG] - com.mchange.v2.resourcepool.BasicResourcePool -BasicResourcePool.java(1441) -awaitAvailable(): com.mchange.v2.c3p0.impl.NewPooledConnection@bd8716
2015-11-25 09:44:54 [DEBUG] - com.mchange.v2.resourcepool.BasicResourcePool -BasicResourcePool.java(1801) -trace com.mchange.v2.resourcepool.BasicResourcePool@16fffda [managed: 50, unused: 0, excluded: 0] (e.g. com.mchange.v2.c3p0.impl.NewPooledConnection@bd8716)
频繁操作数据库的时候就会阻塞,
...全文
287 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
捏造的信仰 2015-11-26
  • 打赏
  • 举报
回复
如果不是连接池的配置问题,那可能是使用的时候没有关闭连接,导致连接被永久占用,这种情况连接池再怎么配也没用的,最好检查下代码。 如果仍然看不出问题,那么可能确实是数据库操作太频繁了。这时候就应该多用缓存,降低数据库的操作频繁度。一般来说,只要对最频繁的数据库操作稍微加一点缓存逻辑,就能让数据库负载降低 80% 以上。
风梦月 2015-11-26
  • 打赏
  • 举报
回复
应该是从连接池拿出来,但是没归还,于是池空了

62,635

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧