代码之家  ›  专栏  ›  技术社区  ›  zDroid

Tomcat连接池,连接超时

  •  0
  • zDroid  · 技术社区  · 7 年前

    我有一个在tomcat 7.0.65上运行的应用程序,并使用 org.apache.tomcat.jdbc.pool.DataSource

    我有连接池设置:

    PoolProperties p = new PoolProperties();
        p.setUrl("jdbc:oracle:thin:@....");
        p.setDriverClassName("oracle.jdbc.OracleDriver");
        p.setUsername("***");
        p.setPassword("***");
        p.setJmxEnabled(true);
        p.setTestWhileIdle(false);
        p.setTestOnBorrow(true);
        p.setValidationQuery("SELECT 1 from dual");
        p.setTestOnReturn(false);
        p.setValidationInterval(30000);
        p.setTimeBetweenEvictionRunsMillis(30000);
        p.setMaxActive(100);
        p.setInitialSize(10);
        p.setMaxWait(10000);
        p.setRemoveAbandonedTimeout(60);
        p.setMinEvictableIdleTimeMillis(30000);
        p.setMinIdle(10);
        p.setLogAbandoned(true);
        p.setRemoveAbandoned(true);
        p.setName("jdbc/insurancePool");
        DataSource asyncDS = new DataSource(p);
    

    每天当我尝试运行应用程序时,我都会收到连接超时的消息,在前几次尝试中出现异常。我不知道为什么会这样。防火墙与此有关吗?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Pawel Gradecki    7 年前

    我每天早上都有同样的问题。然后我找到了autoReconnect参数,它可以与JDBC URL一起使用来解决这个问题。

    例如:

    MYSQL_URL=jdbc:mysql://10.*.*.0:3306/ABC?autoReconnect=true
    
        2
  •  1
  •   zDroid    7 年前

    问题已解决,发现此链接有帮助 Firewall Issues

    希望这对其他人有帮助。。