我在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);
每天当我尝试运行应用程序时,我会在前几次尝试中获得连接超时异常。我不确定为什么会这样。防火墙与此有关吗?
答案 0 :(得分:0)
问题已解决,发现此链接有用Firewall Issues
我将“minIdle”更改为0,并将sqlnet.ora文件中的sqlnet.expire_time参数设置为0 ..
希望这有助于其他人..
答案 1 :(得分:0)
我每天早上都遇到与MySql相同的问题。然后我发现autoReconnect参数可以与JDBC URL一起使用来解决这个问题。
例如:
MYSQL_URL=jdbc:mysql://10.*.*.0:3306/ABC?autoReconnect=true