tomcat 7 jdbc连接池和jdbc4验证

时间:2014-12-19 03:52:03

标签: java oracle jdbc tomcat7 jdbc-pool

我想使用JDBC4 Connection.isValid而不是验证查询来使用tomcat 7 jdbc池验证jdbc连接。

我想知道是否实施Validator类似的轰鸣声就足够了。此外,我想知道哪个会是一个很好的超时。

提前致谢! FEDE

PS:我正在使用oracle 11g。

public class MyValidator implements Validator{
   public static final int DEFAULT_TIMEOUT = 5;

   public boolean validate(final Connection c, final int validateAction){
      try{
         return c.isValid(DEFAULT_TIMEOUT);
      }catch(Exception e){
        // LOG e
        return false;
      }
}

1 个答案:

答案 0 :(得分:0)

调试器可以帮助您解决问题:Tomcat / DBCP连接池不返回原始连接,而是返回基础“真实”连接的包装器/适配器。池通常自己检查连接(如果需要,重新连接),我想,不允许真正验证。

您可以在Tomcat doc中获得有关池验证参数的更多信息。 Another exchange涉及包装Oracle连接的JBoss池,这是一种常见的做法。