Tomcat连接池,连接超时

Tomcat connection pool, connection timeout

我在 tomcat 7.0.65 上有一个应用程序 运行ning,并使用 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);

每天,当我尝试 运行 应用程序时,前几次尝试都会出现连接超时异常。我不确定为什么会这样。防火墙与此有什么关系吗?

问题已解决,发现此 link 有用 Firewall Issues

我将 "minIdle" 更改为 0,并将 sqlnet.ora 文件中的 sqlnet.expire_time 参数设置为 0..

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

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

例如:

MYSQL_URL=jdbc:mysql://10.*.*.0:3306/ABC?autoReconnect=true