为什么c3p0中的numUnclosedOrphanedConnections会增加?

时间:2012-10-25 14:16:01

标签: c3p0

我使用的是c3p0(0.9.1.2)版本,大约一小时后,我看到numUnclosedOrphanedConnections慢慢增加,就像每小时1次一样。 c3p0 docs说

  

numUnclosedOrphanedConnections在调用后仅为非零   到softReset()。它表示已连接的数量   当软复位发生时检查出来,因此是静默的   从池中排除,并且仍未被客户端关闭   应用

为什么c3p0会进行软复位?我的c3p0设置就像

initialPoolSize=1
minPoolSize=1
maxPoolSize=100
maxIdleTime=60
checkoutTimeout=5000
testConnectionOnCheckin=true

1 个答案:

答案 0 :(得分:1)

感谢Steve帮我解决问题。这就是我做到的。

启用c3po的调试级别日志记录:

<logger name="com.mchange" additivity="false">
<level value="DEBUG" />
    <appender-ref ref="C3p0Appender" />          
</logger>

c3p0设置:

debugUnreturnedConnectionStackTraces=true
# 30 sec is enough for me but you should change it for your case
unreturnedConnectionTimeout=30

在c3p0日志文件中搜索的关键字是:“逾期资源签出”

此日志记录仅在c3p0的trunk版本中启用。它应该在pre6版本中出现。