我们使用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