oracle是10.1的,C3p0是0.9的,过一段时间就在log4j文件里报错,但不影响正常使用:具体情况如下:
2010-07-23 21:39:30  INFO NewPooledConnection.logCloseExceptions(650) | [c3p0] Exceptions occurred while trying to close a PooledConnection's resources normally.
2010-07-23 21:39:30  INFO NewPooledConnection.logCloseExceptions(660) | [c3p0] NewPooledConnection close Exception.
java.sql.SQLException: Io 异常: Connection reset by peer: socket write error
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:274)
at oracle.jdbc.driver.T4CConnection.logoff(T4CConnection.java:393)
at oracle.jdbc.driver.PhysicalConnection.close(PhysicalConnection.java:1036)
at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:474)
at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:191)
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.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)
2010-07-23 21:39:30  WARN BasicResourcePool.run(972) | Failed to destroy resource: com.mchange.v2.c3p0.impl.NewPooledConnection@9ba045
java.sql.SQLException: Some resources failed to close properly while closing com.mchange.v2.c3p0.impl.NewPooledConnection@9ba045
at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:496)
at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:191)
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.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:547)在网上搜了一些方法都不见效,请大家多多指教!谢谢!

解决方案 »

  1.   

       1. <property name="c3p0.timeout">0</property>   这样配置可能会产生死锁,所以谨慎些使用   2. <property name="hibernate.c3p0.min_size">5</property>
          <property name="hibernate.c3p0.max_size">20</property>
          <property name="hibernate.c3p0.timeout">300</property>
          <property name="hibernate.c3p0.max_statements">50</property>
          <property name="hibernate.c3p0.idle_test_period">3000</property> 
          这些配置根据你的运行环境,实际配置一下,找出合适的值,这样是最稳妥的方法