自动重新连接数据库连接

wes*_*ley 5 database db2 tomcat jdbc apache-commons-dbcp

我在Tomcat中有一个DBCP连接池.问题是当连接短暂丢失时,应用程序被破坏,因为DBCP在连接时不会再尝试重新连接.我可以让DBCP自动重新连接吗?

jay*_*hao 5

虽然两者都存在一些问题,但有两种方法可以"解决"这个问题:

  1. 您可以使用"validationQuery"(见下文)在您开始之前运行测试查询(通常类似于"从双选择1",用于在您获得/将它们提供给池之前/之后测试连接.从池中为每个连接请求添加额外的调用.请参阅:http://wiki.apache.org/commons/DBCP

  2. 您可以通过设置testWhileIdle使idleEvictorThread执行此操作,而不是在每个查询中执行此操作,但在某些版本中,该线程可能会在高负载下导致死锁.有关该选项和其他选项的更多详细信息,请参阅:http://commons.apache.org/dbcp/configuration.html