我有一个使用 Spring+Hibernate+C3P0 作为连接池的应用程序。如果我启动应用程序并且数据库已关闭,Tomcat 会挂起很长的日志时间而没有提供任何反馈。我可以设置一些属性来避免这种情况吗?例如,如果 30 秒后无法获得连接,则抛出连接超时异常。
问问题
1847 次
1 回答
2
默认情况下,如果 c3p0 无法获取连接,它应该需要大约 30 秒才能发出失败信号。您可以通过修改 c3p0 在数据库上的尝试次数或尝试之间的间隔来控制时间长度。
请参阅c3p0.acquireRetryAttempts和c3p0.acquireRetryDelay。
如果您将 c3p0.acquireRetryAttempts 设置为 1,c3p0 将不会重试并且连接尝试将立即重试失败。
另请参见配置从数据库中断中恢复。
于 2013-05-20T08:40:17.553 回答