2011-06-30 161 views
2

我看到跑步1小時後,Oracle連接池拋出異常Oracle連接池 - 在連接緩存

發現無效或無效連接

「的SQLException內容時發生:在連接高速緩存中發現無效或失效連接」

這裏是屬性文件:

<bean id="datasource" class="oracle.jdbc.pool.OracleDataSource" destroy-method="close"> 
    <property name="URL" value="${local.url}" /> 
    <property name="user" value="${local.username}" /> 
    <property name="password" value="${local.password}" /> 
    <property name="connectionProperties"> 
    <props> 
     <prop key="includeSynonyms">true</prop> 
    </props> 
    </property> 
     <property name="connectionCachingEnabled" value="true"/> 
     <property name="connectionCacheProperties"> 
      <props> 
       <prop key="PropertyCheckInterval">60</prop>   <!-- 1 min --> 
       <prop key="ValidateConnection">true</prop> 
       <prop key="MinLimit">2</prop> 
       <prop key="MaxLimit">25</prop> 
       <prop key="InitialLimit">2</prop> 
       <prop key="ConnectionWaitTimeout">60</prop>   <!-- 1 min --> 
       <prop key="InactivityTimeout">1800</prop>   <!-- 30 mins --> 
       <prop key="AbandonedConnectionTimeout">600</prop> <!-- 10 mins --> 
      </props> 
     </property> 
    </bean> 

有人可以告訴我這是爲什麼1小時後出現故障,即使交易活躍。

+0

問問你的DBA如果數據庫用戶具有資源限制的條件(特別是IDLE_TIME)。 –

+0

我沒有使用多線程,它失敗了。 – rpasula

+0

另外,我們需要將線程數配置爲至少最少的連接數。否則,連接將變得陳舊並拋出異常 – rpasula

回答

1

我沒有使用多線程,它失敗了。此外,我們需要將線程數配置爲至少最少的連接數。否則,連接會變舊,並拋出異常

+0

我也遇到這個問題。你能告訴我你在這種情況下實現多線程的意思嗎?它是否就像xml屬性中的一個屬性?謝謝 –

-2

URL應該是xml配置中的url。

+0

我無法理解您的答案。連接1小時後沒有立即失敗。請在前面的帖子中看到我的意見回答 – rpasula

+1

嘿是的,我不確定你想用這個答案說什麼。你能再詳細一點嗎? –