如果C3P0无法获得数据库连接,Tomcat将挂起

时间:2013-05-20 07:29:41

标签: java hibernate tomcat c3p0

我有一个使用Spring + Hibernate + C3P0作为连接池的应用程序。如果我启动应用程序并且数据库已关闭,则Tomcat将挂起很长的日志时间而不提供任何反馈。我可以设置一些属性以避免这种情况吗?例如,如果在30秒后它无法获得连接,则抛出连接超时异常。

1 个答案:

答案 0 :(得分:2)

默认情况下,如果c3p0无法获取连接,则需要大约30秒才能发出故障信号。您可以通过修改c3p0在数据库中尝试的次数或尝试之间的间隔来控制时间长度。

请参阅c3p0.acquireRetryAttemptsc3p0.acquireRetryDelay

如果将c3p0.acquireRetryAttempts设置为1,则c3p0将不会重试,连接尝试将无法立即重试。

另见Configuring Recovery From Database Outages

相关问题