Spring + Hibernate + c3p0 + MySql не прерывается, если не удается подключиться к базе данных - PullRequest
0 голосов
/ 11 ноября 2011

Я использую комбинацию Spring, Hibernate и Mysql с c3p0 для пула соединений. Моя проблема в том, что развертывание приложения занимает 15-20 минут, когда параметры соединения с базой данных неверны. (Я столкнулся с этим, когда я дал неверный URL для базы данных). Более того, когда я проверяю свои логи tomcat, я не вижу никаких исключений.

Используемые конфигурации:

<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"/>

Мне нужна помощь с настройкой, чтобы приложение истекло по истечении заданного периода времени, если оно не может подключиться к базе данных и выдает какое-то исключение в журнал.

1 Ответ

0 голосов
/ 11 ноября 2011

Вы можете «сохранить» соединение с базой данных в контексте tomcat и сделать его доступным через JNDI.Поэтому, когда нужно изменить конфигурацию, вам нужно только перезапустить сервер, но не следует повторно развертывать приложение.

@ см. Tomcats How To

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...