2016-05-18 6 views
0

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

ответ

0

Когда исключение происходит на связи во время тест c3p0 Connection, c3p0 проверяет состояние SQL исключения, чтобы оценить, означает ли это, что только Connection недействительно, или все соединения в пуле, вероятно, будут недействительными, если сигнализировать о состоянии. Если в SQL-состоянии указано, что все подключения могут быть недействительными, c3p0 сбросит пул, закроет() и отменит ранее приобретенные соединения и заменит их новыми соединениями.

Вам ничего не нужно об этом, если это редко или нерегулярно. c3p0 пытается восстановиться после сбоя базы данных как можно раньше. Он активно заменяет свои Связи, а не ждет каждого отдельно, чтобы пропустить тест, а затем заменить.

Если это происходит очень часто, возникает проблема либо с вашей базой данных, либо с выполнением тестов Connection. Но это стоит отслеживать, только если это случается очень много.

0

это мое ОКР, я хочу исправить любой предупредить, я пытаюсь изменить свойство

это моя старая версия:

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

значение: 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