【问题标题】:Tomcat connection pool, connection timeoutTomcat连接池,连接超时
【发布时间】:2017-08-16 07:00:03
【问题描述】:

我有一个在 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);

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

【问题讨论】:

  • 什么是数据源?你用的是什么连接池?
  • org.apache.tomcat.jdbc.pool.DataSource
  • 尝试添加 setIgnoreExceptionOnPreLoad(false);并将堆栈跟踪添加到问题
  • 我已经进行了更改,一旦我得到堆栈跟踪就会将它添加到这里.. 我在一天开始时遇到这些异常..

标签: tomcat7 connection-pooling


【解决方案1】:

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

例如:

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-10-30
      • 2013-12-19
      • 1970-01-01
      • 2012-04-02
      • 1970-01-01
      • 1970-01-01
      • 2012-01-15
      • 2019-03-14
      • 1970-01-01
      相关资源
      最近更新 更多