2011-11-10 55 views
0

我使用Spring,Hibernate和Mysql與c3p0的組合來實現連接池。我的問題是,當數據庫連接參數錯誤時,應用程序需要15-20分鐘才能部署。 (當我爲數據庫提供了錯誤的URL時,我遇到了這個問題)。而且,當我檢查我的tomcat日誌時,我看不到任何異常。Spring + Hibernate + c3p0 +如果連接數據庫失敗,MySql不會超時

我使用的配置:

<context:property-placeholder location="/WEB-INF/spring.properties" /> 
<tx:annotation-driven transaction-manager="transactionManager" /> 
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean" 
      p:dataSource-ref="dataSource" 
      p:configLocation="${hibernate.config}" 
      p:packagesToScan="com.cronos"/> 

<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
      destroy-method="close" 
      p:driverClass="${app.jdbc.driverClassName}" 
      p:jdbcUrl="${app.jdbc.url}" 
      p:user="${app.jdbc.username}" 
      p:password="${app.jdbc.password}" 
      p:acquireIncrement="5" 
      p:acquireRetryAttempts="3" 
      p:idleConnectionTestPeriod="60" 
      p:maxPoolSize="100" 
      p:maxStatements="50" 
      p:minPoolSize="10"/> 

我需要的配置幫助,使得該應用程序將一個給定的時間後超時,如果它不能連接到數據庫,並扔在日誌中的一些異常。

回答

0

您可以將數據庫連接「存儲」到tomcat上下文中,並通過JNDI使其可用。因此,當需要更改配置時,只需重新啓動服務器,但不能重新部署應用程序。

@ see Tomcats How To

相關問題