`
mayi_hetu
  • 浏览: 14537 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

dbcp连接

阅读更多

 

Hibernate Cannot release connection

分类: Hibernate 120人阅读 评论(0) 收藏 举报

问题: 
    系统采用Spring MVC 2.5 + Spring 2.5 + Hibernate 3.2架构,其中数据源连接池采用的是Apache commons DBCP。问题是这样的,系统运行一段时间后(大致每隔8小时),访问系统会出现如下错误,再次访问恢复正常。


解决: 
    造成Cannot release connection的原因有很多,要具体问题具体分析。从异常分析,造成这个异常org.hibernate.exception.GenericJDBCException: Cannot release connection 归根结底是 Caused by: java.sql.SQLException: Already closed.
 
即连接已关闭。所以解决的办法就要从DBCP的参数配置入手,见下面的参数配置properties文件。
#### :: Apache DBCP :: ####
 jdbc.driverClassName
 = 
oracle.jdbc.driver.OracleDriver
 jdbc.url
 = jdbc:oracle:thin:@ 10.165 . 153.9 : 1521 
:PRDC
 jdbc.username = 
guser
 jdbc.password
 =guser 

 #初始化连接
 jdbc.initialSize
 
= 0 
 #连接池的最大活动个数
 jdbc.maxActive
 
= 20 
 #没有人用连接的时候,最大闲置的连接个数。
 jdbc.maxIdle
 
= 100 
 #没有人用连接的时候,最小闲置的连接个数。
 jdbc.minIdle
 
= 0 
 #超时等待时间以毫秒为单位
 jdbc.maxWait
 
= 10000 
 #是否自动回收超时连接
 jdbc.removeAbandoned
 
= true 
 #设置被遗弃的连接的超时的时间(以秒数为单位),即当一个连接被遗弃的时间超过设置的时间,则它会自动转换成可利用的连接。默认的超时时间是300秒。
 jdbc.removeAbandonedTimeout
 
= 60 
 #是否在自动回收超时连接的时候打印连接的超时错误
 jdbc.logAbandoned 
 
=   true 
 #给出一条简单的sql语句进行验证
 jdbc.validationQuery=select 1 from dual
 #在取出连接时进行有效验证
 jdbc.testOnBorrow=true
其中标红的两个参数的作用是对池化连接进行验证,This will ensure that DBCP only hands out good connections to Hibernate. 故加上这两个参数后,这个异常就不会再出现了。

http://blog.csdn.net/zyj8170/article/details/5948219

分享到:
评论

相关推荐

    java dbcp连接池

    dbcp连接池

    DBCP连接池所有jar包

    DBCP连接池三个jar包,在web项目开发中,连接数据库,使用更加方便。

    DBCP连接池jar包

    dbcp连接池的几个必须的jar包文件,以压缩包的形式存在,欢迎下载!

    mysql8 DBCP连接池jar依赖

    用于实现DBCP连接池所用的JAR依赖文件,包括数据库驱动及创建连接池所需的其他依赖: * commons-collections  * commons-dbcp2  * commons-logging  * commons-pool2  * mysql-connector

    dbcp连接池的jar包

    dbcp连接池的jar包,希望能给大家带来帮助。

    dbcp 连接池 jar包

    dbcp 连接池 用的jar包 hibernate 就用的这个连接池

    DBCP连接池的jar包

    DBCP连接池的jar包包括两个 commons-dbcp.jar和commons-pool.jar

    dbcp连接池jar

    dbcp连接池jar,其中有commons-dbcp-1.2.2.jar,commons-pool-1.3.jar

    DBCP连接池配制文件

    DBCP连接池配制文件................................

    mysql8 DBCP连接池jar依赖.zip

    用于实现DBCP连接池所用的JAR依赖文件,包括数据库驱动及创建连接池所需的其他依赖: * commons-collections * commons-dbcp2 * commons-logging * commons-pool2 * mysql-connector 用于实现DBCP连接池所用的...

    DBCP连接池原理分析

    DBCP连接池介绍 ----------------------------- 目前 DBCP 有两个版本分别是 1.3 和 1.4。 DBCP 1.3 版本需要运行于 JDK 1.4-1.5 ,支持 JDBC 3。 DBCP 1.4 版本需要运行于 JDK 1.6 ,支持 JDBC 4。 1.3和1.4基于...

    DBCP连接池所需jar包.rar

    在web项目与数据库相连接管理数据源的DBCP连接池所需jar包

    DBCP连接池

    用于采用SSH框架进行网页应用开发的环境配置--DBCP连接池

    dbcp连接池整合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数据库驱动 到手即用

    dbcp连接池jar,

    dbcp连接池jar, commons-dbcp2-2.4.0.jar commons-logging-1.2.jar commons-pool2-2.6.1.jar

    dbcp 连接词jar包

    DBCP(DataBase connection pool),数据库连接池。由于建立数据库连接是一个非常耗时耗资源的行为,所以通过连接池预先同数据库建立一些连接,放在内存中,应用程序需要建立数据库连接时直接到连接池中申请一个就行,...

    dbcp连接池

    dbcp连接池的JAR commons-dbcp提供给开发者一个可用的数据库连接池,顾名思义commons-dbcp缓存了很多数据库的连接。难么这个缓存的功能是在dbcp中实现的吗?不是的,其实dbcp中的数据库的缓存的功能是有commons-...

    commons中的DBCP连接池jar

    commons中的DBCP连接池jar,用于利用dbcp链接数据库

Global site tag (gtag.js) - Google Analytics