commons-pool2连接池配置

GenericObjectPoolConfig poolConfig = new GenericObjectPoolConfig();
基本配置:
        //最大连接
        poolConfig.setMaxTotal(100);
        //最大空闲连接
        poolConfig.setMaxIdle(5);
        //最小空闲连接 
        poolConfig.setMinIdle(5);
        //连接满时最多等待时间
        poolConfig.setMaxWaitMillis(5000L);
高级功能:
         //使用时检查对象(默认不检查)
        poolConfig.setTestWhileIdle(true);
        poolConfig.setTestOnCreate(true);
        poolConfig.setTestOnBorrow(true);
        poolConfig.setTestOnReturn(true);
        //jmx启用 之后可以实时的查看线程池对象的状态
        poolConfig.setJmxEnabled(false);
        poolConfig.setJmxNameBase("namebase");
        poolConfig.setJmxNamePrefix("nameprefix");
         //驱逐线程每次检查对象个数
        poolConfig.setNumTestsPerEvictionRun(2);
        //空闲连接被驱逐前能够保留的时间
        poolConfig.setMinEvictableIdleTimeMillis(10000L);
        //当空闲线程大于minIdle 空闲连接能够保留时间,同时指定会被上面的覆盖
        poolConfig.setSoftMinEvictableIdleTimeMillis(10000L);
        //驱逐线程执行间隔时间
        poolConfig.setTimeBetweenEvictionRunsMillis(200000L);
        //放弃长时间占用连接的对象
       AbandonedConfig abandonedConfig=new AbandonedConfig();
       abandonedConfig.setLogAbandoned(true);
       abandonedConfig.setUseUsageTracking(false);
       abandonedConfig.setRemoveAbandonedOnBorrow(true);
       abandonedConfig.setRemoveAbandonedOnMaintenance(true);
       abandonedConfig.setRemoveAbandonedTimeout(20);//second

转载自:https://throwsnew.com/2017/06/12/commons-pool/

 

Leave a Reply

Your email address will not be published.