日期:2014-05-16  浏览次数:20435 次

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?
?#没有人用连接的时候,最大闲置的连接个数。