gpt4 book ai didi

jdbc - 连接中断后如何自动重新连接Oracle连接池?

转载 作者:行者123 更新时间:2023-12-04 01:15:29 25 4
gpt4 key购买 nike

我通过 OracleConnectionCacheImpl 遇到了 Oracle 连接池的问题。当我通过瘦驱动程序连接到我的数据库服务器 (Oracle 10g) 上的连接池时,一切正常,直到在未指定的时间之后,数据库连接被删除(可能是由于空闲连接?),我收到一条错误消息:

Closed Connection.



刷新页面重新尝试连接会重新连接数据库,所以看起来不是网络或者数据库的问题。如果池中的连接因任何原因死亡,Oracle 连接池是否可以验证其连接并重新连接?

我使用的是 Apache Tomcat 6.0.18,Java EE6 更新 11。

(Oracle 瘦驱动程序中似乎有一个 ping 功能。这有帮助吗?我在哪里可以找到它?)

最佳答案

Apache DBCP(数据库连接池)在这里会有所帮助。您可以使用“validationQuery”参数进行配置,该参数是一个 SQL 查询,用于在从池中删除的连接上运行,然后再将其提供给您。如果查询失败,连接将被丢弃并建立一个新连接并提供给您。

看这里 http://commons.apache.org/proper/commons-dbcp/configuration.html更多细节。

请注意,每次从池中获取连接时都会调用 validationQuery,因此它需要尽可能快。例如:

SELECT id FROM users LIMIT 1;

关于jdbc - 连接中断后如何自动重新连接Oracle连接池?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1085152/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com