数据库连接池连接用光了 一次操作可以,反复几次后,就空指针了。应该是连接用光了吧, 只是我能关的都关了。关了连接类的关闭方法,还有连接后查询结果的关闭方法,都用了,还是关不彻底。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是关掉,是释放,放到list 或者栈或者其他的存储连接的对象中去 这样关 if (conn != null) { try { if (!conn.isClosed()) { conn.close(); } conn = null; } catch (Exception ex) { } } 楼主看看这个帖子,也许对你有帮助http://topic.csdn.net/u/20091202/12/d8419ea4-f056-4744-81aa-7c7f5e265b59.html 如果你自己写的连接池估计也知道释放吧,我想你不是用的自己写的。我前面也才出的这问题,用了dbcp的数据源,我前面也是直接把连接关了,结果也是最后连接池用光了。我最后用的是dbcp数据源的一个close方法,就可以释放了。 检查一下你的 Connection, Statement/PreparedStatement, ResultSet 对象是否都设置成成员变量了 如果设置成成员变量的话,请立即改为局部变量严禁将 Connection, Statement/PreparedStatement, ResultSet 设为成员变量,除非你在程序编码时能充分考虑并发问题。设置成成员变量的连接对象,在并发时将会造成大量的连接无法关闭(归还到池中),以至于将连接池中的连接耗尽。 我不同意火龙的意见,现在一般的 JavaBean每次都会实例化一个新对象进行查询只要查询完后使用 close()方法关闭,就没有什么问题除非使用了static修饰了这个对象或者 连接对象不然不存在并发的问题个人观点是 访问数据库的 JavaBean最好不要整个线程,并发之类的东东进去把该要取得的数据取出来了,就关了这个JavaBean 不是很明白这句话呢,难道线程安全问题只存在于 static 变量中? 谢谢,是的。不过是公司写的。我后来知道怎么回事了,是每一个rowset都要关,以前我以为关了总连接conn就可以了。 jive源代码 什么情况下URL会成这样? JSP在本机能访问,从别的机器访问就找不到网页,会是什么原因 关于返回值得问题 jsp 投票系统问题 菜鸟请教http请求的问题 ●两个简单的问题,望大虾门帮助下!谢谢 在线等......... 一个中文问题(高分发放) 连接Oracle Work Flow数据库出错,怎么回事? 接收邮件时出错,以下是俺从论坛里面搜出来并且经过修改后的一段代码,请各位大侠指教,谢谢!!! 一个关于正则表达式的问题 页面问题大家进来帮个忙谢谢
if (conn != null) {
try {
if (!conn.isClosed()) {
conn.close();
}
conn = null;
} catch (Exception ex) { }
}
楼主看看这个帖子,也许对你有帮助http://topic.csdn.net/u/20091202/12/d8419ea4-f056-4744-81aa-7c7f5e265b59.html
只要查询完后使用 close()方法关闭,就没有什么问题
除非使用了static修饰了这个对象或者 连接对象
不然不存在并发的问题
个人观点是 访问数据库的 JavaBean最好不要整个线程,并发之类的东东进去
把该要取得的数据取出来了,就关了这个JavaBean
不是很明白这句话呢,难道线程安全问题只存在于 static 变量中?