立即发生还是在一段时间后发生?也就是说,结帐最初是否成功,但随后却像这样挂起?如果是这样,它看起来像是连接泄漏。请尝试将c3p0参数设置为unreturnedConnectionTimeout和debugUnreturnedConnectionStackTraces,以查看是否存在泄漏。见http://www.mchange.com/projects/c3p0/#configuring_to_debug_and_workaround_broken_clients,http://www.mchange.com/projects/c3p0/#unreturnedConnectionTimeout,http://www.mchange.com/projects/c3p0/# debugUnreturnedConnectionStackTraces。
如果立即发生这种情况,如果没有成功检出任何连接,则问题是池是否曾经成功获取连接。默认情况下,如果它永远不会成功,则大约30秒后,您的线程应该会因失败而中断。(这看起来好像没有完成,但是例如,如果您将acquireRetryAttempts设置为零,则c3p0可能会无限期挂起,以等待Connections。)
要调试c3p0问题,捕获池初始化时c3p0转储到INFO级别的日志的版本和配置信息会很有帮助。
祝好运!