Соединение проводов конфигурации пула Jpa2 / hibernate c3p0 и утечки потоков - PullRequest
0 голосов
/ 29 сентября 2011

Я пытаюсь использовать c3p0 в качестве поставщика пула соединений в своем приложении (jpa 2 и hibernate core 3.3.2), но c3p0 получает слишком много соединений из базы данных. Эта та же проблема, но ответ не помог.Я получаю entitymanager из фабрики entitymanager и сохраняю entitymanager в локальной переменной потока, поэтому я использую свежий entiymanager для каждого запроса (кстати, если я использую пул hibernate по умолчанию, нет проблем)

  <property name="hibernate.connection.provider_class"
          value="org.hibernate.connection.C3P0ConnectionProvider" />


         <property name="hibernate.c3p0.min_size" value="1" />
         <property name="hibernate.c3p0.max_size" value="10" />
         <property name="hibernate. c3p0.initialPoolSize" value="3" />


         <property name="hibernate.c3p0.numHelperThreads" value="3" />
          <property name="hibernate.c3p0.maxPoolSize" value="10" />
          <property name="hibernate.c3p0.minPoolSize" value="1" />
          <property name="hibernate.c3p0.maxIdleTime" value="3600" />
          <property name="hibernate.c3p0.maxIdleTimeExcessConnections" value="300" />
           <property name="hibernate.c3p0.unreturnedConnectionTimeout" value="3600" />

        <property name="hibernate.c3p0.acquire_increment" value="1" />
        <property name="hibernate.c3p0.idle_test_period" value="3000" />
        <property name="hibernate.c3p0.max_statements" value="0" />
        <property name="hibernate.c3p0.timeout" value="300" />
        <property name="hibernate.c3p0.breakAfterAcquireFailure"  value="false" />
         <property name="hibernate.c3p0.acquireRetryAttempts"     value="1"  />
         <property name="hibernate.c3p0.acquireRetryDelay"  value="100" / >

1 Ответ

0 голосов
/ 01 августа 2012

Можете ли вы убедиться, что вы не определяете пул как на уровне источника данных, так и на уровне sessionFactory.

...