奇怪的错误:关闭客户端堆栈跟踪

Joh*_*ohn 22 hibernate

大家好我有一个使用Hibernate检索数据库中的数据的Web应用程序.在服务器端,一些例外定期出现.以下是异常日志.

    16:04:22,227 DEBUG NewPooledConnection:491 - com.mchange.v2.c3p0.impl.NewPooledConnection@ef46613 closed by a client.
    java.lang.Exception: DEBUG -- CLOSE BY CLIENT STACK TRACE
        at com.mchange.v2.c3p0.impl.NewPooledConnection.close(NewPooledConnection.java:491)
        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)
    16:09:42,310 DEBUG C3P0PooledConnectionPool:476 - Successfully destroyed PooledConnection: com.mchange.v2.c3p0.impl.NewPooledConnection@32ef0763
    16:09:42,310 DEBUG BasicResourcePool:967 - Successfully destroyed resource: com.mchange.v2.c3p0.impl.NewPooledConnection@32ef0763
    16:09:42,310 DEBUG GooGooStatementCache:319 - ENTER METHOD: closeAll( org.postgresql.jdbc4.Jdbc4Connection@42df0af8 )! -- num_connections: 1
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我解决这个问题吗?非常感谢!

Tom*_*icz 27

这是在C3P0中触发此日志语句的代码:

if ( logger.isLoggable( MLevel.FINEST ) )
  logger.log( MLevel.FINEST, this + " closed by a client.", 
            new Exception("DEBUG -- CLOSE BY CLIENT STACK TRACE") );
Run Code Online (Sandbox Code Playgroud)

注意:

  1. 这也不例外,new Exception仅用于显示执行路径以进行调试.

  2. 是的,这只是一个调试消息(实际上,FINEST是最低级别java.util.logging).

要包装它:忽略并调整您的日志记录级别以跳过这些.

  • 当然.根据您使用的日志框架,您需要配置`com.mchange.v2.c3p0`记录器的日志记录级别.文档如何执行此操作:[Log4J](http://logging.apache.org/log4j/1.2/manual.html),[Logback](http://logback.qos.ch/manual/configuration.html)或[`java.util.logging`](http://docs.oracle.com/javase/1.4.2/docs/guide/util/logging/overview.html). (2认同)