2011-09-29 81 views
0

我想在我的應用程序(jpa 2和hibernate核心3.3.2)中使用c3p0作爲連接池提供程序,但c3p0從數據庫獲得太多連接。 This是同樣的問題,但答案沒有幫助。我得到entitymanager從entitymanager工廠和存儲entitymanager在一個線程局部變量,因此我正在使用每個請求新鮮entiymanager(順便說一句,如果我使用休眠默認池沒有問題)Jpa2/hibernate c3p0池配置導致連接和線程泄漏

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

我想,不知何故,多於一個民意調查創建。 – ayengin

回答

0

您能否確保您沒有在數據源和sessionFactory級別定義池。