连接池的释放是否恰当!

本文探讨了数据库连接池的使用和管理,包括连接回收、最小连接数、Tomcat连接池启动时的行为以及用户如何正确关闭连接。讨论中指出,用户释放连接是指通过调用conn.close()将连接归还给连接池,而不是直接关闭连接。同时,当连接池达到最大空闲时间且连接数超过最小连接数时,才会真正关闭连接。文章以Tomcat连接池为例,并提供了一段使用Vector和HashMap实现的简单连接池代码。
摘要由CSDN通过智能技术生成

最近偶尔有个同事在tomcat連接池上提了一个疑问,引发我们部门地一番争论,但还是有分歧,不过通过一番查翻资料,疑点越来越集中,现在说说我的问题:
我们地统一点:
1.用户释放连接后,连接被回收到连接池,这个连接仍然是可用的。
如果一个连接等待了一段时间(连接池的最大空闲时间,可设置)仍然没有
人来请求连接,那么它将被彻底释放。当然,如果连接池中的连接个数已经
等于连接池的最小连接数(可设置),那么它不会被释放。

2.以tomcat连接池为例,tomcat启动后,假设我设置的最小连接数为5,那么这时候(此Tomcat下的程序没有启动)Tomcat是否和后台地数据库建立5条连线(session)呢?答案:不是.

3.我们的分歧点:注意第一点说的"用户释放连接后",什么叫用户释放连接,我把操作地页面关掉,还是在程序里调用conn.close,如果我 在程序里面手动地close,那么我关闭的是连接池里的连接吗,还是把连接还给连接池,也就是说,我手动close连接是否有必要呢?

 

附上代码一段

  1. package  com.dalong.connectionpool;  
  2. import  java.util.HashMap;  
  3. import  java.util.Vector;  
  4. import  java.sql.Connection;  
  5. import  java.sql.DriverManager;  
  6. import  java.sql.*;  
  7. /**  
  8.  * <p>Title: </p>  
  9.  * <p>Description: test</p>  
  10.  * <p>Copyright: Copyright (c); 2003</p>  
  11.  * <p>Company: home</p>  
  12.  * @author dalong  
  13.  * @version 1.0  
  14.  */   
  15.   
  16. public   class  ConnectionPool {  
  17.   
  18.   //连接
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值