Вам необходимо настроить пул соединений с базой данных, а не спящий режим. Попробуйте установить idleConnectionTestPeriod
и соответствующий preferredTestQuery
, например, select 1 from dual
.
См. Как настроить C3P0 ConnectionPool для получения дополнительной информации. Вы получите максимальный контроль, если создадите файл c3p0.properties
в WEB-INF/classes
, но вам нужно убедиться, что вы не переопределите эти свойства в hibernate.cfg.xml
.
.
Ну, я написал c3p0-config.xml как
<c3p0-config>
<default-config>
<!-- Configuring Connection Testing -->
<!-- property name="automaticTestTable">TEST_EMS_HIBERNATE_CONN</property -->
<property name="checkoutTimeout">0</property>
<property name="testConnectionOnCheckout">true</property>
<property name="testConnectionOnCheckin">false</property>
<property name="preferredTestQuery">SELECT 1 from dual</property>
<!-- Configuring Recovery From Database Outages -->
<property name="acquireRetryAttempts">0</property>
<property name="acquireRetryDelay">1000</property>
<property name="breakAfterAcquireFailure">false</property>
<!-- Configuring to Debug and Workaround Broken Client Apps -->
<property name="unreturnedConnectionTimeout">1800</property>
<property name="debugUnreturnedConnectionStackTraces">true</property>
</default-config>
и системные свойства, такие как:
C3P0_SYS_PROPS="-Dcom.mchange.v2.c3p0.cfg.xml=<FILE-PATH>/c3p0-config.xml -Dcom.mchange.v2.log.MLog=com.mchange.v2.log.FallbackMLog -Dcom.mchange.v2.log.FallbackMLog.DE
FAULT_CUTOFF_LEVEL=WARNING"