连接池的Connection问题

ZJ_lover 2013-04-20 01:02:58
项目中使用了proxool数据源,配置了静态创建连接类。
public class DBConnection {
public static Connection getConn() throws Exception{

return DriverManager.getConnection("proxool.db_master");

}

public static void closeDB(Connection conn){
try{

if (conn!=null) conn.close();

}catch (Exception e) {
// TODO: handle exception
}
}}

那这样使用的时候还需不需要调用Connection.close()方法呢?
try{conn.close();conn=null;}catch(Exception e){}
如果需要那么Connection就是我手动关闭的,跟连接池没什么关系?
如果不关闭的话那是什么时候关闭呢?
请达人给我解释一下。
...全文
220 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
larzy_zy 2013-04-24
  • 打赏
  • 举报
回复
应该close();调用这个方法只是表示你用完了,将你使用的连接改为空闲状态,这样下一个connection来就会有空闲连接,不然你一直getConnection,那不是要疯了。
benlaten 2013-04-23
  • 打赏
  • 举报
回复
应该需要调用,你使用的Connection 其实是代理 调用close()的意思是通知连接池回收这个连接,物理连接并未关闭
fei1710 2013-04-21
  • 打赏
  • 举报
回复
需要调用,用过要还的,楼上说了
长笛党希望 2013-04-21
  • 打赏
  • 举报
回复
如果使用的连接池的话,close方法只是通知连接池回收连接,不是关闭操作。 如果要关闭操作,需要连接池在特定条件下执行。 连接池自己会维护创建新连接,和关闭连接。
MIT的梦 2013-04-20
  • 打赏
  • 举报
回复
http://blog.csdn.net/ilibaba/article/details/3996962 可以看看
MIT的梦 2013-04-20
  • 打赏
  • 举报
回复
不需要调用,Dataource中事先建立了多个数据库连接,这些数据库连接保持在数据库连接池中,当程序访问数据库时,只需要从连接池从取出空闲的连接,访问数据库结束,在将这些连接归还给连接池。

67,550

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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