MySQL Hibernate проблема подключения при использовании c3p0

У меня есть веб-приложение, разработанное с использованием Struts 1.3, Hibernate3 и Spring. Приложение ранее было мертвым через 8 часов, так как MySQL закрыл соединение по прошествии времени. Затем я собираю информацию из нескольких постов, чтобы поддерживать ее в течение долгого времени, теперь это почти 20 - 24 часа. Может ли любое тело помочь мне заставить эту вещь работать.

Резюме

Я не могу войти после 20 часов бездействия. Соединение закрыто MySQL.

Благодарю.

Пожалуйста, найдите ниже фрагменты для конфигурации hibernate и c3p0.

Hibernate фрагмент файла cfg

    <property name="hibernate.dialect">se.etm.ewo.hibernate.CustomDialect</property>
    <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="hibernate.connection.url">MY_JDBC_URL?autoReconnect=true</property>
    <property name="hibernate.connection.username">username</property>
    <property name="hibernate.connection.password">password</property>
    <property name="hibernate.connection.autoReconnect">true</property>
    <property name="hibernate.connection.autoReconnectForPools">true</property>
    <property name="hibernate.c3p0.idle_test_period">100</property>
    <property name="hibernate.c3p0.preferredTestQuery">select 1</property>
    <property name="hibernate.c3p0.testWhileIdle">true</property>
    <property name="hibernate.c3p0.testConnectionOnCheckout">true</property>
    <property name="hibernate.c3p0.min_size">10</property>
    <!-- Echo all executed SQL to stdout -->
    <property name="show_sql">true</property>

    <!-- Drop and re-create the database schema on startup -->
    <property name="hbm2ddl.auto">update</property>
    <property name="hibernate.current_session_context_class">thread</property>

Кусок конфигурации от весны

<bean id="sessionFactory"
    class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
    <property name="dataSource" ref="dataSource" />

    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
    <property name="hibernateProperties">
        <ref bean="hibernateProperties" />
    </property>
</bean>

<bean id="hibernateProperties"
    class="org.springframework.beans.factory.config.PropertiesFactoryBean">
    <property name="ignoreResourceNotFound" value="true" />
    <property name="location">
        <value>classpath:hibernate.cfg.xml</value>
    </property>
</bean>

<!-- Data source -->
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
    destroy-method="close">
    <property name="driverClass">
        <value>com.mysql.jdbc.Driver</value>
    </property>
    <property name="jdbcUrl">
        <value>MY_JDBC_URL?autoReconnect=true</value>
    </property>
    <property name="user">
        <value>username</value>
    </property>
    <property name="password">
        <value>password</value>
    </property>
    <property name="initialPoolSize">
        <value>10</value>
    </property>
    <property name="maxPoolSize">
        <value>30</value>
    </property>
    <property name="minPoolSize">
        <value>10</value>
    </property>
    <property name="maxConnectionAge">
        <value>3600</value>
    </property>
    <property name="maxIdleTime">
        <value>3600</value>
    </property>
    <property name="maxIdleTimeExcessConnections">
        <value>1800</value>
    </property>
    <property name="acquireRetryAttempts">
        <value>3</value>
    </property>
    <property name="acquireRetryDelay">
        <value>3000</value>
    </property>
    <property name="breakAfterAcquireFailure">
        <value>false</value>
    </property>
    <property name="preferredTestQuery">
        <value>SELECT 1</value>
    </property>
    <property name="testConnectionOnCheckout">
        <value>true</value>
    </property>
</bean>
<bean id="transactionManager"
    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
        <ref bean="sessionFactory" />
    </property>
</bean>

Журнал C3p0

ИНФОРМАЦИЯ AbstractPoolBackedDataSource: 462 - Инициализация пула c3p0 ... com.mchange.v2.c3p0.ComboPooledDataSource [acquIncrement -> 3, acquRetryAttempts -> 3, acquRetryDelay -> 3000, autoCommitOnClose -> false - automaticTestfter>, falseTirectFireful>> , checkoutTimeout -> 0, connectionCustomizerClassName -> null, connectionTesterClassName -> com.mchange.v2.c3p0.impl.DefaultConnectionTester, dataSourceName -> 1br9tik951qql1qj1z141xq | 2a868f36, драйвер debugUnreturn.conn> jdbc.Driver, factoryClassLocation -> ноль, forceIgnoreUnresolvedTransactions -> ложь, identityToken -> 1br9tik951qql1qj1z141xq | 2a868f36, idleConnectionTestPeriod -> 0, начальная_позиция - размер -> 10, jdlQuCUF-файл:> -> true> url -> true: url: true> -> true> url :ULL --UcULL :ULL --UUF_ULL-UKUF:> , maxAdministrativeTaskTime -> 0, maxConnectionAge -> 3600, maxIdleTime -> 3600, maxIdleTimeExcessConnections -> 1800, maxPoolSize -> 30, maxStatements -> 0, maxStatementsPerConnection -> 0, minPoolSize -> 10, numHelperThreads -> 3, numThreadsAwaitingCheckoutDefaultUser -> 0, предпочитаемый тест-запрос -> SELECT 1, свойства -> {пользователь = ******, пароль = ******}, propertyCycle -> 0, testConnectionOnCheckin -> false, testConnectionOnCheckout -> true, unreturnedConnectionTimeout -> 300, используетTraditionalReflectiveProxies -> false]

В журнале c3p0 выглядят именно эти строки, ничего не связано с проблемой. Вы можете найти что-нибудь.

Ответы на вопрос(1)

Ваш ответ на вопрос