2014-11-11 3 views
0

Я использую спящий режим с базой данных MySQL в приложении Java Я мигрирую из спящего режима 3 в спящем режиме 4 но в новом спящем числе занятых нити увеличился и использовать все соединения так что мое приложение перестает работать и больше не может подключаться. моя конфигурация hibernate.cfg как ниже:зимуют 4 сеанса связь остается открытой

 <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
     <!-- Enable Hibernate's automatic session context management --> 
     <property name="current_session_context_class">thread</property> 
     <property name="hibernate.current_session_context_class">thread</property> 
     <!-- Disable the second-level cache --> 
     <property name="hibernate.cache.use_second_level_cache">true</property> 
     <!--<property name="hibernate.cache.provider_class"> 
      net.sf.ehcache.hibernate.EhCacheProvider 
     </property>--> 
     <property name="hibernate.cache.region.factory_class">org.hibernate.cache.ehcache.SingletonEhCacheRegionFactory</property> 
     <property name="hibernate.cache.use_query_cache">true</property> 

     <!--<property name="hibernate.generate_statistics">true</property>--> 

     <!--C3P0 configure--> 
     <property name="hibernate.connection.provider_class"> 
      org.hibernate.connection.C3P0ConnectionProvider 
     </property> 
     <property name="hibernate.c3p0.acquire_increment">3</property> 
     <property name="hibernate.c3p0.idle_test_period">144</property> 
     <property name="hibernate.c3p0.timeout">60</property> 
     <property name="hibernate.c3p0.max_size">30</property> 
     <property name="hibernate.c3p0.min_size">3</property> 
     <property name="hibernate.c3p0.max_statements">0</property> 
     <property name="hibernate.c3p0.preferredTestQuery">select 1;</property> 
     <property name="hibernate.c3p0.validate">true</property> 
     <property name="hibernate.c3p0.testConnectionOnCheckout">true</property> 

Я Тайм-аут небольшое значение и увеличить max_size , а также установить use_second_level_cache = ложный , но никаких улучшений не сделано

, что это проблема

большое спасибо

ответ

0

Так что это очень похоже на утечку соединения в вашем приложении. Используйте параметры конфигурации c3p0 unreturnedConnectionTimeout и debugUnreturnedConnectionStackTraces для его отладки.

См. here.

(В вашем hibernate.cfg они будут hibernate.c3p0.unreturnedConnectionTimeout и hibernate.c3p0.debugUnreturnedConnectionStackTraces.)

Смежные вопросы