我们使用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. 春季安全OAuth2与Reddit - 如何设置“持续时间”
- 3. 如何设置Socket.ConnectAsync的超时时间?
- 4. 如何设置OCILogon2的超时时间?
- 5. 春季DriverManagerDataSource打开了很多连接?
- 6. Libtorrent如何设置超时时间?
- 7. 设置SSL和超时与WS调用春季(HttpsUrlConnectionMessageSender,HttpsUrlConnectionMessageSender)
- 8. 如何在春季acegi框架中配置会话超时?
- 9. 春季帮助捕捉会话超时
- 10. 春季交易超时不起作用
- 11. 春季AOP交易 - 属性超时?
- 12. JSF春季安全会话超时viewExpiredException
- 13. 春云 - Zuul不能设置超时
- 14. 如何使用geo.js设置查找位置的超时时间?
- 15. 如何正确设置联合ADFS 2.0时的超时时间
- 16. 设置java.net.URLConnection的最大超时时间
- 17. 春季资源 - 如何设置
- 18. 如何设置ajax超时?
- 19. 春季webflow不闲置超时?它恢复?
- 20. tokuDb设置时间以超时语句
- 21. 为NetworkObject.MapNetworkDrive设置超时时间
- 22. 基于查询设置超时时间
- 23. 动态设置超时时间
- 24. iOS:Firebase存储设置超时时间
- 25. 如何设置resque作业的超时时间
- 26. Python - 如何正确设置函数的超时时间
- 27. 如何设置redis-cli命令的超时时间?
- 28. 如何设置PHP或Javascript技术测验的超时时间
- 29. 如何设置dataWithContentsOfURL的超时时间:url
- 30. 如何设置简单指令的超时时间?
没有为我工作! – 2014-06-17 13:05:29