我在 Tomcat 中有一个 DBCP 连接池。问题是,当连接短暂丢失时,应用程序就会中断,因为 DBCP 不会在稍后有连接时尝试再次重新连接。我可以让 DBCP 自动重新连接吗?
有两种方法可以“解决”这个问题,尽管两者都存在一些问题:
-
您可以使用“validationQuery”(见下文)在开始之前运行测试查询(通常类似于“select 1 from Dual”),它将用于在将连接获取/提供给池之前/之后测试连接。这从池中为每个连接请求添加一个额外的调用。请参阅:http://wiki.apache.org/commons/DBCP http://wiki.apache.org/commons/DBCP
您可以让idleEvictorThread 通过设置testWhileIdle 来执行此操作,而不是针对每个查询执行此操作,但在某些版本中,该线程可能会在高负载下导致死锁。看:http://commons.apache.org/dbcp/configuration.html http://commons.apache.org/dbcp/configuration.html有关该选项和其他选项的更多详细信息
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)