Exceptions occurred while trying to close a PooledConnection's resources normally

2014-11-26 01:28:26,346 INFO [Resource Destroyer in BasicResourcePool.close()] NewPooledConnection - [c3p0] Exceptions occurred while trying to close a PooledConnection's resources normally.
2014-11-26 01:28:26,355 INFO [Resource Destroyer in BasicResourcePool.close()] NewPooledConnection - [c3p0] NewPooledConnection close Exception.
java.sql.SQLException: Io exception: Connection timed out
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
        at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:480)
        at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:1175)
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:549)
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:234)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:470)
        at com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:964)
        at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:989)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$100(BasicResourcePool.java:32)
        at com.mchange.v2.resourcepool.BasicResourcePool$5.run(BasicResourcePool.java:1174)
2014-11-26 01:28:26,369 WARN [Resource Destroyer in BasicResourcePool.close()] BasicResourcePool - Failed to destroy resource: com.mchange.v2.c3p0.impl.NewPooledConnection@59b0ddf6
java.sql.SQLException: Some resources failed to close properly while closing com.mchange.v2.c3p0.impl.NewPooledConnection@59b0ddf6
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:571)
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:234)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:470)
        at com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:964)
        at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:989)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$100(BasicResourcePool.java:32)
        at com.mchange.v2.resourcepool.BasicResourcePool$5.run(BasicResourcePool.java:1174)
2014-11-26 01:37:21,275 INFO [Resource Destroyer in BasicResourcePool.close()] NewPooledConnection - [c3p0] Exceptions occurred while trying to close a PooledConnection's resources normally.
2014-11-26 01:37:21,276 INFO [Resource Destroyer in BasicResourcePool.close()] NewPooledConnection - [c3p0] NewPooledConnection close Exception.
java.sql.SQLException: Io exception: Connection timed out
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
        at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:480)
        at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:1175)
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:549)
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:234)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:470)
        at com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:964)
        at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:989)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$100(BasicResourcePool.java:32)
        at com.mchange.v2.resourcepool.BasicResourcePool$5.run(BasicResourcePool.java:1174)
2014-11-26 01:37:21,276 WARN [Resource Destroyer in BasicResourcePool.close()] BasicResourcePool - Failed to destroy resource: com.mchange.v2.c3p0.impl.NewPooledConnection@425ad662
java.sql.SQLException: Some resources failed to close properly while closing com.mchange.v2.c3p0.impl.NewPooledConnection@425ad662
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:571)
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:234)
        at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.destroyResource(C3P0PooledConnectionPool.java:470)
        at com.mchange.v2.resourcepool.BasicResourcePool$1DestroyResourceTask.run(BasicResourcePool.java:964)
        at com.mchange.v2.resourcepool.BasicResourcePool.destroyResource(BasicResourcePool.java:989)
        at com.mchange.v2.resourcepool.BasicResourcePool.access$100(BasicResourcePool.java:32)
        at com.mchange.v2.resourcepool.BasicResourcePool$5.run(BasicResourcePool.java:1174)


代码里是用com.mchange.v2.c3p0.ComboPooledDataSource(连接池 cpds)管理链接的,同时创建一个链接对象conn,程序是定时调度的,在一轮调度结束后,代码里先将conn关闭,然后在关闭cpds(调用cpds.close()),代码执行到结束地址池后大概10分钟就报上诉错误,经分析,原因大概如下:
1.地址池对象一般是不会关闭的,直到线程消亡或者所在对象消亡才会关闭,代码里却在程序一轮执行结束就主动关闭
2.地址池线程有自动监听功能,一定时间会扫描连接池里处于不用的链接(线程池调用close()不会把链接池线程关掉?),这事就会发现连接池是关闭的,就报上面的错误
3.如果下次再次执行代码也会报错,因为连接池已经关闭,报错信息如下。
(以上纯属网上查找,大胆猜测,仅供参考)

2014-11-26 09:34:33,257 WARN [Thread-3346] DnsBigfileCollect - error : java.sql.SQLException: com.mchange.v2.c3p0.ComboPooledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAwaitingCheckoutDefaultUser] ] has been closed() -- you can no longer use it.
java.sql.SQLException: com.mchange.v2.c3p0.ComboPooledDataSource [ java.beans.IntrospectionException: java.lang.reflect.InvocationTargetException [numThreadsAwaitingCheckoutDefaultUser] ] has been closed() -- you can no longer use it.
 at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.assertCpds(AbstractPoolBackedDataSource.java:447)
 at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getPoolManager(AbstractPoolBackedDataSource.java:459)
 at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128)
 at com.zznode.ngn.sa.psm.probe.ftp.hebei.DnsBigfileCollect.getConnection(DnsBigfileCollect.java:557)
 at com.zznode.ngn.sa.psm.probe.ftp.hebei.DnsBigfileCollect.batchHandIn(DnsBigfileCollect.java:517)
 at com.zznode.ngn.sa.psm.probe.ftp.hebei.DnsBigfileCollect.collectFiles(DnsBigfileCollect.java:473)
 at com.zznode.ngn.sa.psm.probe.ftp.hebei.DnsBigfileCollect.collectFileMap(DnsBigfileCollect.java:214)
 at com.zznode.ngn.sa.psm.probe.ftp.hebei.DnsBigfileCollect.execute(DnsBigfileCollect.java:176)
 at com.zznode.ngn.sa.psm.probe.ftp.hebei.DNSDomainPraseProbe$ExecuteDataPool.statiscAndHandIn(DNSDomainPraseProbe.java:444)
 at com.zznode.ngn.sa.psm.probe.ftp.hebei.DNSDomainPraseProbe$ExecuteDataPool.run(DNSDomainPraseProbe.java:407)
2014-11-26 09:34:33,258 DEBUG [Thread-3346] DNSDomainPraseProbe - has all success done !!! cost time : 273 s

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值