我一直使用DBCP连接池,效果还不错。
最近因为朋友的一个J2EE应用一上连接池,很快就会报connection pool exhausted的错误,所以
特地研究了一下如何自动检测未关闭的数据库连接的技术。
研究了tomcat文档中DataSource一章,发现有专门的Preventing dB connection pool leaks一节,
设置数据源的removeAbandoned="true",removeAbandonedTimeout="60",logAbandoned="true"几个属性就可以了。
DBCP会自动把超过timeout时间仍未关闭的连接强制关闭,并且打出异常信息(包含打开连接的代码位置)。
但是要注意,不能依赖这种方式关闭连接,是有一定风险的,比如万一页面操作数据库的时间偶尔超过了
timeout的时间,那会造成执行错误。
对我来说,这个方法最好的用法就是用来检测未关闭的连接,然后修改程序,显式的关闭连接。
一个经验需要说一下,DBCP的log会输出到控制台,如果使用log4j,需要设置log4j.xml中的console appender的threshold为debug.
分享到:
相关推荐
DBCP配置数据库连接池实现对数据库的连接并附上增删改查
HibernateADDSpring(hibernate和spring整合,使用dbcp连接池方式连接数据库)
DBCP 数据库连接池 DBCP 数据库连接池 DBCP 数据库连接池 里面是DBCP的jar,导进去就可以用了
dbcp连接池的jar包,希望能给大家带来帮助。
DBCP(DataBase Connection Pool)数据库连接池,是java数据库连接池的一种,由Apache开发,通过数据库连接池,可以让程序自动管理数据库连接的释放和断开。
DBCP连接池三个jar包,在web项目开发中,连接数据库,使用更加方便。
dbcp连接池
dbcp数据库连接池需要用到的jar,包括源码和api文档,javadoc
dbcp连接池的几个必须的jar包文件,以压缩包的形式存在,欢迎下载!
DBCP数据库连接池的完整jar包
JBDC连接数据库使用dbcp连接池,实现各种增加修改删除功能
dbcp 连接池 用的jar包 hibernate 就用的这个连接池
java web开发 dbcp数据库连接池 所用jar包。java web开发 dbcp数据库连接池 所用jar包。
DBCP连接池的jar包,欢迎下载
适合学习练习用jar包
用于实现DBCP连接池所用的JAR依赖文件,包括数据库驱动及创建连接池所需的其他依赖: * commons-collections * commons-dbcp2 * commons-logging * commons-pool2 * mysql-connector
dbcp连接池jar,其中有commons-dbcp-1.2.2.jar,commons-pool-1.3.jar
单独使用dbcp需要3个包:commons-dbcp.jar,commons-pool.jar,commons-collections.jar由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库...
里面包含了commons-collections-3.1.jar commons-dbcp-1.2.2.jar commons-pool.jar ojdbc6.jar commons-dbcp-1.2.2 连接池的实现 commons-pool 连接池的依赖库 ojdbc6 orcale数据库驱动 到手即用