2015-05-14 100 views
1

我用肥皂作爲一個Web服務,我與OracleORA-02396:超過最大空閒時間,請再次連接

在我的應用程序連接我有這個配置中的applicationContext-db.xml文件

<property name="maxActive" value="100"/> 
     <property name="maxIdle" value="30"/> 
     <property name="maxWait" value="1000"/> 
     <property name="defaultAutoCommit" value="true"/> 
     <property name="removeAbandoned" value="true"/> 
     <property name="removeAbandonedTimeout" value="60"/> 

但過一段時間我有這樣的錯誤:

06:05:58,239 WARN [JDBCExceptionReporter] SQL Error: 17008, SQLState: null 
06:05:58,239 ERROR [JDBCExceptionReporter] Closed Connection 
06:05:58,244 ERROR [JDBCTransaction] JDBC rollback failed 
java.sql.SQLException: ORA-02396: exceeded maximum idle time, please connect again 

在這種情況下,我應該重新啓動我的JBoss服務器

更新時間:

我加<property name="testWhileIdle" value="true"/>但我必須與最大空閒時間相同的錯誤

這個錯誤出現的時候我沒有一段

我嘗試還調用Web服務修改我的配置中的相同參數:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" 
"http://www.springframework.org/dtd/spring-beans.dtd"> 

<beans> 
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
     <property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/> 


     <property name="url" value="jdbc:oracle:thin:@192.168.0.12:1521/testSID"/> 
     <property name="username" value="test"/> 
     <property name="password" value="test"/> 
     <property name="maxActive" value="1500"/> 
     <property name="maxIdle" value="1000"/> 
     <property name="maxWait" value="20000"/> 
     <property name="defaultAutoCommit" value="true"/> 
     <property name="removeAbandoned" value="true"/> 
     <property name="removeAbandonedTimeout" value="3600"/> 
    </bean> 
</beans> 

我認爲我應該修改空閒時間配置在oracle中不僅在我的應用程序中。

我認爲我應該做的空閒時間UNLIMITED用戶測試,改變RESOURCE_LIMIT

,但我不知道如何做到這一點的配置在Oracle中,並詢問是否有其他配置要在oracle中完成

回答

0

您可以嘗試將testWhileIdle屬性設置爲true

您還可以查看documentation瞭解其他詳情。

+0

感謝您的回覆,我更新了我的問題,但我有同樣的錯誤,我認爲我應該在oracle中進行相同的配置 – franco

相關問題