我們使用Spring框架(版本2.5)中的DriverManagerDataSource
來連接到Oracle。但是,似乎這些連接沒有定義任何超時 - 昨天,緊急數據庫重新啓動後,我們在數據庫連接內部讀取的套接字上掛起了一個線程。我如何設置超時時間,說10分鐘,這樣下次會引發異常?如何設置春季的超時時間DriverManagerDataSource
4
A
回答
4
我最終改變以下列方式Spring上下文豆:
<bean id="myDataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource" autowire="no">
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<property name="connectionProperties">
<props>
<prop key="oracle.net.READ_TIMEOUT">60000</prop>
</props>
</property>
</bean>
我不知道它是否有效。
0
如果Oracle驅動程序實現支持超時屬性,您可以通過getConnectionProperties().put(key, timeout)
通過它傳遞給底層實現我假設你意識到DriverManagerDataSource
不是一個連接池?從文檔:
注意:此類不是實際的連接池;它實際上並不是 池連接。它只是作爲 簡單替換成一個完整的 連接池,實現相同的 標準接口,但創建新的 連接在每個呼叫。 [..]如果您需要 Apache's Jakarta Commons DBCP或 C3P0需要「容器」外的「真實」連接池 。
您可能也有興趣OCI Connection Pooling?
1
Oracle有一個內置連接池:oracle.jdbc.pool.OracleDataSource
。我建議你直接使用它。 Oracle JDBC(10gR2,其他版本類似)的參考文獻是http://download.oracle.com/docs/cd/B19306_01/java.102/b14355/toc.htm。興趣點:
相關問題
- 1. 春季websocket超時設置
- 2. 理想春季會議超時配置
- 3. 春季安全OAuth2與Reddit - 如何設置「持續時間」
- 4. 春季DriverManagerDataSource打開了很多連接?
- 5. 如何設置Socket.ConnectAsync的超時時間?
- 6. 如何設置ProxyAgent的超時時間?
- 7. 如何設置OCILogon2的超時時間?
- 8. Libtorrent如何設置超時時間?
- 9. 如何爲PhantomJS設置超時時間?
- 10. 設置SSL和超時與WS調用春季(HttpsUrlConnectionMessageSender,HttpsUrlConnectionMessageSender)
- 11. 如何在春季acegi框架中配置會話超時?
- 12. REPEATABLE_READ的春季事務啓動超時
- 13. 獲得CST春季/夏季時間與喬達時間
- 14. 春季服務器:超時錯誤
- 15. 在春季停止HTTP請求超時
- 16. 春季異步超時不起作用
- 17. 春季安全登錄頁面超時
- 18. 春季幫助捕捉會話超時
- 19. JSF春季安全會話超時viewExpiredException
- 20. 春季交易超時不起作用
- 21. 春季AOP交易 - 屬性超時?
- 22. 春季會話超時處理mvc
- 23. 春雲 - Zuul不能設置超時
- 24. 如何使用geo.js設置查找位置的超時時間?
- 25. 如何正確設置聯合ADFS 2.0時的超時時間
- 26. 春季資源 - 如何設置
- 27. 設置tweepy的超時時間
- 28. 設置查詢的超時時間
- 29. 設置加載appcache的超時時間?
- 30. 設置java.net.URLConnection的最大超時時間
沒有爲我工作! – 2014-06-17 13:05:29