2016-05-16 09: 49: 20,505 [http-bio-8080-exec-6] WARN [com.mchange.v2.c3p0.impl.DefaultConnectionTester] - Состояние SQL '08007' из Исключение, протестированное с помощью statusOnException(), означает, что база данных недействительна, и пул должен пополнять себя новыми соединениями. на com.mchange.v2.c3p0.impl.NewProxyConnection.commit (NewProxyConnection.java:803) 2016-05-16 09: 49: 20,506 [http-bio-8080-exec-6] WARN [com.mchange. v2.c3p0.impl.C3P0PooledConnectionPool] - Ошибка ConnectionTest, сообщив, что все ранее приобретенные подключения скорее всего недействительны. Пул будет сброшен. на com.mchange.v2.c3p0.impl.NewProxyConnection.commit (NewProxyConnection.java:803) в com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate (NewProxyPreparedStatement.java:105) в com.mchange. v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate (NewProxyPreparedStatement.java:105) на com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate (NewProxyPreparedStatement.java:105)c3p0 connection refill in tomcat
ответ
Когда исключение происходит на связи во время тест c3p0 Connection, c3p0 проверяет состояние SQL исключения, чтобы оценить, означает ли это, что только Connection недействительно, или все соединения в пуле, вероятно, будут недействительными, если сигнализировать о состоянии. Если в SQL-состоянии указано, что все подключения могут быть недействительными, c3p0 сбросит пул, закроет() и отменит ранее приобретенные соединения и заменит их новыми соединениями.
Вам ничего не нужно об этом, если это редко или нерегулярно. c3p0 пытается восстановиться после сбоя базы данных как можно раньше. Он активно заменяет свои Связи, а не ждет каждого отдельно, чтобы пропустить тест, а затем заменить.
Если это происходит очень часто, возникает проблема либо с вашей базой данных, либо с выполнением тестов Connection. Но это стоит отслеживать, только если это случается очень много.
это мое ОКР, я хочу исправить любой предупредить, я пытаюсь изменить свойство
это моя старая версия:
<property name="minPoolSize"><value>5</value>
</property>
<property name="maxPoolSize">
<value>30</value>
</property>
<property name="initialPoolSize">
<value>10</value>
</property>
<property name="maxIdleTime">
<value>60</value>
</property>
<property name="acquireIncrement">
<value>5</value>
</property>
<property name="maxStatements">
<value>0</value>
</property>
<property name="idleConnectionTestPeriod">
<value>60</value>
</property> -->
<property name="acquireRetryAttempts">
<value>30</value>
</property>
<property name="breakAfterAcquireFailure">
<value>true</value>
</property>
<property name="preferredTestQuery" value="SELECT 1"/>
ложные
новая версия:
<property name="idleConnectionTestPeriod" value="${c3p0.idleConnectionTestPeriod}" />
<property name="initialPoolSize" value="${c3p0.initialPoolSize}" />
<property name="maxIdleTime" value="${c3p0.maxIdleTime}" />
<property name="maxPoolSize" value="${c3p0.maxPoolSize}" />
<property name="maxStatements" value="${c3p0.maxStatements}" />
<property name="maxStatementsPerConnection" value="${c3p0.maxStatementsPerConnection}" />
<property name="minPoolSize" value="${c3p0.minPoolSize}" />
значение: c3p0.acquireIncrement = 5 c3p0.idleConnectionTestPeriod = 60 c3p0.initialPoolSize = 10 c3p0.maxIdleTime = 60 c3p0.maxPoolSize = 30 c3p0.maxStatements = 200 c3p0.maxStatementsPerConnection = 30 c3p0.minPoolSize = 5 – franklin