数据库连接池问题 用连接池的话连接并不会被关闭只是返回到连接池中。你可以自己写一个BEAN去分配连接,包括从连接池中取得连接、记录已用连接数、最大可用连接数。当已用连接数等于最大可用连接数时,你就将连接池的最大连接数增加。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 以上问题均可以如下程序结构中得到解决:try{ 程序代码块}catch{ 错误捕获处理 }finally{ 释放连接池 释放打开的文件句柄等等}原理:无论程序是否异常,均会执行finally中的语句 故在finally中进行资源的释放。 建议使用 "JDBC Data Sources",这在JRUN和WebSphere中配置都很方便,使用起来也是很方便! 造成“同一个连接使用次数过多,将会导致连接的不稳定,进而会导致WEB SERVER的频频重启”通常有两种可能性:1、 程序设计上,利用一个链接初始化大量statement对象,例如: Connection conn=getFromPool(); for (int i=0;i<10000;i++) { String sqlStr="......"; PreparedStatement pStmt=conn.prepareStatement(sqlStr); ...... pStmt.close();}// 虽然statement在每次循环都有关闭,但是由于程序运行太快,可能会导致垃圾为及时清除,而使得程序出现打开的游标超出最大限制的错误。解决这种问题,最好尽量用一个statement来完成所有工作,在循环里面用PreparedStatement.setString()等方法来改变statement的内容。2. 只记得关闭Connection,忘记了关闭ResultSet,和Statement。这种错误在不用连接池的情况下不会浮现出问题,用WebLogic的连接池好像也不会有问题,估计是WebLogic的Connection.close()方法实现得比较好。为保险起见,应该安装生成的相反顺序先关闭ResultSet,再关闭Statement。Connection用完了就关闭Connection。这是因为用了连接池以后,调用Connection.close()并非把这个链接真正关闭,只是返回给连接池供下一个用户获取。在这条Connection所创建的statement和resultset会打开一些游标,如果没有关闭就返回给连接池。就会有所谓“游标泄漏”的问题出现。 压感纸打印问题 [争当CSDN上最规范最详尽的问答贴] 监听器问题! 错在何处??? 那位高手帮我看看是个什么问题? 想来日本工作的话,请联系 求 JTABLE / JLIST 在applet中应用的例程 如何判断一个字符串内包含另外一个字符串? ●询问jar的一个用法● List初始化的问题? 谁有Tomcat 的配置说明文档? 救命呀。web server程序 Swing的小程序可否在IE浏览器中运行显示?
try{
程序代码块
}catch{
错误捕获处理
}finally{ 释放连接池
释放打开的文件句柄等等}
原理:无论程序是否异常,均会执行finally中的语句
故在finally中进行资源的释放。
1、 程序设计上,利用一个链接初始化大量statement对象,例如:
Connection conn=getFromPool();
for (int i=0;i<10000;i++) {
String sqlStr="......";
PreparedStatement pStmt=conn.prepareStatement(sqlStr);
......
pStmt.close();
}
// 虽然statement在每次循环都有关闭,但是由于程序运行太快,可能会导致垃圾为及时清除,而使得程序出现打开的游标超出最大限制的错误。
解决这种问题,最好尽量用一个statement来完成所有工作,在循环里面用PreparedStatement.setString()等方法来改变statement的内容。
2. 只记得关闭Connection,忘记了关闭ResultSet,和Statement。
这种错误在不用连接池的情况下不会浮现出问题,用WebLogic的连接池好像也不会有问题,估计是WebLogic的Connection.close()方法实现得比较好。
为保险起见,应该安装生成的相反顺序先关闭ResultSet,再关闭Statement。Connection用完了就关闭Connection。
这是因为用了连接池以后,调用Connection.close()并非把这个链接真正关闭,只是返回给连接池供下一个用户获取。在这条Connection所创建的statement和resultset会打开一些游标,如果没有关闭就返回给连接池。就会有所谓“游标泄漏”的问题出现。