c3p0 в hibernate не закрывает простаивающие соединения - PullRequest
0 голосов
/ 11 сентября 2018

У меня небольшие проблемы с тем фактом, что c3p0 не закрывает пустые соединения, несмотря на тот факт, что файл hibernate.cfg.xml имеет достаточное содержимое. Вот часть файла, упомянутого выше:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<hibernate-configuration>

    <session-factory>
        <property name="connection.driver_class">org.postgresql.Driver</property>
        <property name="connection.url">jdbc:postgresql://***.***.***.***/dev</property>
        <property name="connection.username">*******</property>
        <property name="connection.password">*******</property>
        <!--<property name="connection.pool_size">1</property>-->
        <property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="hibernate.current_session_context_class">org.hibernate.context.internal.ThreadLocalSessionContext</property>
        <property name="show_sql">true</property>
        <property name="format_sql">true</property>
        <property name="use_sql_comments">true</property>
        <property name="hibernate.generate_statistics">false</property>

    <!-- pooling -->

        <property name="hibernate.c3p0.min_size">1</property>
        <property name="hibernate.c3p0.max_size">100</property>
        <property name="hibernate.c3p0.acquire_increment">1</property>
        <property name="hibernate.c3p0.idle_test_period">180</property>
        <property name="hibernate.c3p0.max_statements">50</property>
        <property name="hibernate.c3p0.timeout">300</property>

        <property name="hibernate.jdbc.use_get_generated_keys">true</property>
        <property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>

Например, когда я использую кнопку «поиск» во внешнем интерфейсе приложения, запрос отправляется, и на панели управления базой данных я вижу одну бездействующую транзакцию COMMIT. По истечении времени, указанного в hibernate.c3p0.idle_test_period и hibernate.c3p0.timeout, я предполагаю, что эта транзакция должна исчезнуть, но, к сожалению, это не так ...

...