Tomcat的数据库连接池,Connection用完后要关闭

原创 2011年01月13日 16:12:00

    一般来说,在tomcat中配置数据库连接池,而我们不停的建立数据库连接,而没有关闭数据库的连接的话就会产生这样的异 常:Cannot get a connection, pool exhaustedCannot get a connection, pool exhausted 。其实,这是由于连接池中的连接被消耗殆尽的缘故。我们实际上,在开发中应该养成良好的开发习惯,就是在用完连接后应该马上关闭Connection,这 样就很好的解决了这样的问题。

    可能有人会说,那每次用完池的连接都要关闭数据库的连接,那池就不起作用了吗?那不就是用完一次连接就关闭,然后再次建立连接,这样效率不是依然很低吗? 其实不然,这里调用con.close()其实并没有把这个连接真正的关闭掉,而是容许池把此连接再次放回到池中分配给别的客户端来使用,所以大可以放心 的关闭连接,而不影响连接池的效率。

    当然,这不是唯一的解决方案,但是我认为这是最好的解决方案。但是,如果你在编程的时候的确是忘记关闭数据库的连接,那依然有其他的解决方案:(当然最好是在finally中关闭con)

    1. 可以重新启动你的tomcat服务器,这是最灵的解决方案,不过没什么技术含量
    2. 在数据源的配置文件中把maxactive属性的值调整到更大,比如100

解决spring整合quartz,tomcat关闭后,quartz还在运行

最近项目需要定时任务,首先想到的是用quartz,于是用spring整合quartz,quartz整合spring,需要用到spring的support包,引进后就可以了: 其中配置quartz的s...
  • educast
  • educast
  • 2015年08月14日 14:52
  • 3780

系统反复挂掉,都是tomcat连接池没配置好惹的祸

问题描述: 系统在sit测试过程中,经常突然无法访问,重启服务就又可以正常运行一段时间,然后突然又无法访问,系统出现假死状态,反复如此! 重启虽然是万能的,但不能根据解决问题,严重影响si...

JDBC数据库连接池connection关闭后Statement和ResultSet未关闭的问题

(1)    主要问题  针对关闭connection是否会自动关闭Statement和ResultSet的问题,以及Statement和ResultSet所占用资源是否会自动释放问题,JDBC...

JDBC数据库连接池connection关闭后Statement和ResultSet未关闭的问题

本文转自:http://k1121.iteye.com/blog/1279063 (1)    主要问题 针对关闭connection是否会自动关闭Statement和ResultSet的...

将connection存放在Threadlocal里和数据库连接池的区别

我有几点不太明白的,望各位大侠指教下。 1、j2ee的应用中,有一个用户请求就会启动一个线程。而如果我们把connection放在Threadlocal里的话,那么我们的程序只需要一个connect...

数据库连接池 Connection Pool 是什么,做什么

说道数据库,头脑中一下子就想到了经典的连接步骤,确实通过JDBC获取数据库连接是件再简单不多的事情,但对于JDBC Driver来说,连接数据库却并非一件轻松的差事,因为底层它还需要做很多其他事情,外...

JDBC----数据库连接池(connection pool)

•数据库连接池的基本思想就是为数据库连接建立一个“缓冲池”。预先在缓冲池中放入一定数量的连接,当需要建立数据库连接时,只需从“缓冲池”中取出一个,使用完毕之后再放回去。 •数据库连接池负责分配、管理...

数据库连接池(connection pool)的工作原理

程序开发,存在很多问题:首先,每一次Web请求都要建立一次数据库连接。建立连接是一个费时的活动,每次都得花费0.05s~1s的时间,而且系统还要分配内存资源。这个时间对于一次或几次数据库操作,或许感觉...

Tomcat数据库连接池配置

  • 2014年05月26日 20:47
  • 95KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Tomcat的数据库连接池,Connection用完后要关闭
举报原因:
原因补充:

(最多只允许输入30个字)