关于druid链接池长时间不访问自动removeAbandoned问题

dushouxiao 发布于 2015/07/17 10:14
阅读 3K+
收藏 0

@wenshao 你好,想跟你请教个问题:

我的配置是:

    private int initialSize = 10;
    private int minIdle = 10;
    private int maxActive = 100;
    
    // 配置获取连接等待超时的时间
    private long maxWait = DruidDataSource.DEFAULT_MAX_WAIT;
    
    // 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
    private long timeBetweenEvictionRunsMillis = DruidDataSource.DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS;
    // 配置连接在池中最小生存的时间
    private long minEvictableIdleTimeMillis = DruidDataSource.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS;
    // 配置发生错误时多久重连
    private long timeBetweenConnectErrorMillis = DruidDataSource.DEFAULT_TIME_BETWEEN_CONNECT_ERROR_MILLIS;
    
    private String validationQuery = "select 1";
    private boolean testWhileIdle = true;
    private boolean testOnBorrow = false;
    private boolean testOnReturn = false;
    
    // 是否打开连接泄露自动检测
    private boolean removeAbandoned = true;
    // 连接长时间没有使用,被认为发生泄露时长
    private long removeAbandonedTimeoutMillis = 300 * 1000;
    private boolean logAbandoned = true;
    

    private int maxPoolPreparedStatementPerConnectionSize = -1;

我做了个测试环境:昨天启动tomcat,池里初始10个链接,中间没有应用请求,今天早晨刚看时,那初始的10个链接是在的,但一旦请求,就变成一个链接了。但如果我模拟多人并发访问,链接数会涨到四五个。

这是正常的吗?链接池里不是有自动链接防止掉线的进程吗?还有连接池里不是有设置最小链接数吗为10吗?

加载中
返回顶部
顶部