2016-05-18 99 views
0

2016-05-16 09:49:20,505 [http-bio-8080-exec-6] WARN [com.mchange.v2.c3p0.impl.DefaultConnectionTester] - SQL State'08007'of由statusOnException()測試的異常意味着數據庫無效,並且池應該用新的連接重新填充。 at 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)tomcat中的c3p0連接填充

回答

0

當異常上時的連接時一個c3p0連接測試,c3p0檢查異常的SQL狀態以評估這是否意味着只有連接無效,或者如果池中的所有連接都可能在給定條件有效的情況下無效。如果SQL狀態顯示所有連接都可能無效,則c3p0將重置該池,關閉()並丟棄先前獲取的連接並將其替換爲新連接。

只要這種情況很罕見或偶爾發生,您無需對此做任何事情。 c3p0正在儘早儘快從數據庫中斷中恢復。它主動替換它的連接,而不是單獨等待每個連接,以便通過測試失敗並被替換。

如果這種情況發生了很多,那麼數據庫或連接測試如何執行都會出現問題。但是,只有在發生很多事情時才值得追查。

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

value: 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