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

dbcb数据源错误
错误原因:java.sql.SQLException: Already closed
前提:程序中对使用的资源(链接等)都进行了正常释放

现象:数据源在很长时间未使用,然后去获得一个连接后,进行数据库操作,发生java.net.SocketException: Connection reset ,java.sql.SQLException: Already closed 异常,在异常发生后,再次获取连接又正常.

分析:这种现场是因为DBCP数据源中存放了数据库连接对象,且对象长久未被使用,数据库自动断开无操作的链接.

解决:通过数据库配置,使连接永久生效,或,定时对数据源中的链接对象进行操作,已防止数据库连接被数据库重置(断开)