赛迪网 > IT技术 Java > 程序员生活
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

关于连接池问题,其实你多想想就明白了

发布时间:2007.12.07 04:57     来源:赛迪网    作者:执木

是否每一个用户连接都要占用一个Connection,such as 在pool中设定最大连接数为10,比如有10个用户同时连接时就达到pool的最大连接了呢?  如果访问量很大的门户站点,最大连接数是不时应该设置很大呢?
::一般来说,连接池设置的时候,是允许设置最小连接数和最大连接数的。最小连接数是用于系统空闲的时候的,这样可以降低database的压力。当访问增多,所需连接数超出最小连接数时,系统会再创建连接,并放入连接池。当访问量很大时,最大连接数当然也会相应增大。但对于设计的好的系统来说,数据库访问时间占总处理时间的比例不应该很高。比如可以利用cache的技术,来降低对数据库的访问次数。


当访问连接超过了最大连接数时,怎么处理?
    继续为用户创建新连接,这时保存conn的vector的size()已经超过了最大连接数,如何对超过这部分的连接进行管理,继续把他们加入到pool中?
::如果超出了最大连接数,一般的pool manager会重试数次,做等待。而往往等一会儿就会有空闲连接了。若仍未取到连接,可以有不同的处理方法,一般是返回一个null啦。这种情况应该记录,这可以帮助你了解最大连接数应该是多少。

 

连接超过过期的处理,比如在一个jsp页面中调用一个poolbean中的conn,这个bean的scope设置为什么比较好?page吗?
是否需要在这个jsp页面最后把这个conn归还给pool呢?还是留着给用户下一个页面使用?

::用完的连接当然应该立即返回,要知道从连接池取一个连接是很快的,而若你一直霸占着连接,导至池中连接不够,再创建连接的时间是很长的。一个connection永远只应该在一个页面甚至一次事务的范围内使用。

如果不把他归还的给pool的话,这个conn会在多久后就超时失效呢?怎么处理这种失效的connection, Hashtable他并不知道这个conn是否已经失效呢,Hashtable只是保留这个object而已?

::这会根据你的设置来定的。若总是不返回连接,池中连接委有快会耗尽,后台进程就会检查空连接的情况,并加以释放。
事实上在poolman中,是有一个线程一直在运行的,可以设置隔多少时间就重建连接。
Hashtable当然是什么都不知道的啦。它只是一个装东西的房间而已。另外会有一个线程来做仓库管理员的。
  (责任编辑:包春林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
· Weblogic下使用jsp查询的Entity Bean (12-06) · JAVA基础:漫谈Java程序设计中的接口应用 (12-06)
· 教你在Java数据库编程中的几个常用技巧 (12-06) · 建立JSP操作用以提高数据库访问的效率 (12-06)
· 初学入门:JAVA里字符编码的探索与理解 (12-06) · 使用JAVA中的动态代理实现数据库连接池 (12-06)
· Java语言中基本数据类型与流的操作方法 (12-06) · Java程序与.NET 的Web Services相互调用 (12-06)
· 深入浅出:weblogic的jsp问题解决方法 (12-06) · 你知道什么时候应该使用Web Service吗? (12-06)
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 回顾ERP市场发展经历 提醒CIO选型需理性
· 网银系统拥堵 SOA从治病良方到罪魁祸首
· 国产ITIL运维先行者 四大厂商角力BI市场
· 金融行业GSN专题解决方案 企业网解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统