写了个通用连接池,c3p0,用来连接多个数据库,大家看看有没有问题 数据库连接javac3p0 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 木有认真看,还以为你是自己实现了一个连接池。。你这close是把连接用完以后关闭了么,不是还给连接池? c3p0连接池,要直接关掉的。http://bbs.csdn.net/topics/390458524?page=1#post-394497078 额,你这里调用的close应该是放回连接池并不是关闭物理连接的,之前我没想对 虽然使用了 ConcurrentHashMap 但并未处理 ComboPooledDataSource dataSource = dataSources.get(connName); if (dataSource != null) { return dataSource; }这块代码的同步问题,如果竞争激烈的话,很可能会造成连接泄漏。 另外,对于异常处理非常不好,比如: } catch (PropertyVetoException e) { log.error("jdbc.properties error ", e); } catch (Exception e) { log.error("datasource generate error ", e); } dataSources.put(connName, dataSource); return dataSource;直接把异常吃了,如果 dataSource 没有初始化成功,也将 put 到 dataSources 中,并返回给调用者一个 null 值的 dataSource。 谢谢火龙果!那么这个异常怎么处理比较好呢?throw 一个运行是异常吗? 这里不会吧,ConcurrentHashMap只是读取数据,put的时候可能会有点问题,put的时候加个锁就行了 synchronized (dataSources) { dataSources.put(connName, dataSource); }怎么配置? MARK 正想把部分业务处理使用另外一个库去执行。 我看不出你这个关闭是放回连接池中你的conn是sql包中的connection所以你直接关掉了。 我看不出你这个关闭是放回连接池中,你的conn是sql包中的connection所以你直接关掉了。 看这个火龙果大大的回复:http://bbs.csdn.net/topics/330195313c3p0是要关闭的。其他的连接池不了解 spring的quartz求解 恳请推荐一下学习SSH框架的书籍,介绍一下学习的方法。 请高手来帮帮忙 请教在eclispe中如何配置使用jive2.5 [200分]在两个有关系的EntityBean中如何在一个Ejb的Eql中关联另一个Ejb的属性进行查询????如何设置 [高手请进]WSAD5.1的诡异行为[50分] java问题 请教struts标签库struts-form.tld引入后,报错,信息如下 weblogic7 + sybase 的问题 请问哪里有J2EE下载? 请教一个JPQL句子 新手请教servlet问题
你这close是把连接用完以后关闭了么,不是还给连接池?
c3p0连接池,要直接关掉的。
http://bbs.csdn.net/topics/390458524?page=1#post-394497078
if (dataSource != null) {
return dataSource;
}这块代码的同步问题,如果竞争激烈的话,很可能会造成连接泄漏。
log.error("jdbc.properties error ", e);
} catch (Exception e) {
log.error("datasource generate error ", e);
} dataSources.put(connName, dataSource);
return dataSource;直接把异常吃了,如果 dataSource 没有初始化成功,也将 put 到 dataSources 中,并返回给调用者一个 null 值的 dataSource。
谢谢火龙果!那么这个异常怎么处理比较好呢?throw 一个运行是异常吗?
这里不会吧,ConcurrentHashMap只是读取数据,put的时候可能会有点问题,
put的时候加个锁就行了
synchronized (dataSources) {
dataSources.put(connName, dataSource);
}怎么配置?
看这个火龙果大大的回复:http://bbs.csdn.net/topics/330195313c3p0是要关闭的。其他的连接池不了解