进来看看,大家都会遇到的问题

saiche05 2006-06-12 10:31:25
在使用连接池中,建立连接后,到底要不要conn.close()关闭连接?
conn.close()是关闭连接还是把连接放回池中?
如果是关闭连接的话,池中的连接数会减少1,如果是连接放回池中,池中的连接数不变。

我的例子
Connection conn = null;
Context initCtx=new InitialContext();
Context ctx=(Context)initCtx.lookup("java:comp/env");
javax.sql.DataSource ds=(javax.sql.DataSource)ctx.lookup("jdbc/SQL");

conn=ds.getConnection();
Statement stmt1 = conn.createStatement();
String sql="select mobile from userinfo ";
ResultSet rst=stmt1.executeQuery(sql);
.............. //对结果集的一些处理
rst.close();
stmt1.close();
conn.close(); ----------------//这里要不要写?


大家说说是怎么处理的?欢迎发表你的处理情况。
...全文
249 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
saiche05 2006-12-13
  • 打赏
  • 举报
回复
finally{
conn.close();
}
saiche05 2006-08-22
  • 打赏
  • 举报
回复
conn.close()
swantt 2006-07-28
  • 打赏
  • 举报
回复
JAVA的垃圾回收机制真烂。
削死壹狼 2006-07-28
  • 打赏
  • 举报
回复
conn.close()这是一定要的! 不然时间长了池链接就用完了 服务肯定死
sunshine5246 2006-07-28
  • 打赏
  • 举报
回复
up,必须关闭
trueyellow 2006-07-28
  • 打赏
  • 举报
回复
一般而言,这个方法叫做release
Ketter 2006-07-28
  • 打赏
  • 举报
回复
UP,conn.close()是必须的。
ray_1981 2006-07-28
  • 打赏
  • 举报
回复
conn.close()这是一定要的啦!
楼上几位已经说的很清楚了!
StefYue 2006-07-28
  • 打赏
  • 举报
回复
必须conn.close();
否则连接是不会释放回连接池的
softmouse 2006-07-28
  • 打赏
  • 举报
回复
当然需要,否则系统会因多个无用的conn没有释放,而严重影响系统的效率。
quanquan626 2006-07-28
  • 打赏
  • 举报
回复
肯定要的。conn也是最耗资源的
farmer0512 2006-07-28
  • 打赏
  • 举报
回复
conn.close()这时必须要做的。否则连接是不会释放回连接池的。同时这个Connection打开的Statement和ResultSet也都要在Connection关闭前关闭,否则对系统还是有影响的。
saiche05 2006-07-28
  • 打赏
  • 举报
回复
没有conn.close(),我遇到的异常是池链接数用尽。
tomuno 2006-06-12
  • 打赏
  • 举报
回复
必须conn.close()
conn是客户端与服务器端的jdbc会话
如果客户端不调用close方法,那么服务器端无法知道客户端是否是因为超时而未关闭
从而造成数据库的open cursor 持续增长,进而当机
egg13 2006-06-12
  • 打赏
  • 举报
回复
我这边使用连接池
每次调用完是肯定要close()的
不然多运行几个页面
resin就挂了
因为一直没有释放连接
到后来就没有可用的连接了
sharpfire 2006-06-12
  • 打赏
  • 举报
回复
必须conn.close()是把连接放回池中,不关闭的话会到时间超时才关闭,那样的话多调用几次DB你的程序就挂拉

81,092

社区成员

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

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