2011-11-10 6 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

関連する問題