我有一个使用 c3p0 作为连接池的 Web 应用程序。我们使用hibernate作为orm工具。 最近,我们不断收到连接超时异常。为了调试这些异常,我启用了 C3p0 的日志记录并在日志中获取了一些信息。谁能帮助我完全理解它。
DEBUG 2012-08-05 14:43:52,590 [com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread-#0] com.mchange.v2.c3p0.stmt.GooGooStatementCache: checkinAll(): com.mchange.v2.c3p0.stmt.GlobalMaxOnlyStatementCache stats -- total size: 2; checked out: 0; num connections: 1; num keys: 2
从上面,我可以观察到连接池的总大小为2。 checkout 的连接数为0。这是正确的吗?上面的 num_connections 和 num key 是什么?
谢谢..
最佳答案
您在引用的日志中看到的是语句缓存的快照,而不是连接池的快照。在记录该消息时,有两个缓存的PreparedStatement,它们属于单个连接。两个报表均未 checkout /使用。
希望这会有所帮助!
关于java - 连接池 C3P0 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11819610/