Example usage for org.apache.commons.pool2.impl BaseObjectPoolConfig DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS

List of usage examples for org.apache.commons.pool2.impl BaseObjectPoolConfig DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS

Introduction

In this page you can find the example usage for org.apache.commons.pool2.impl BaseObjectPoolConfig DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS.

Prototype

long DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS

To view the source code for org.apache.commons.pool2.impl BaseObjectPoolConfig DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS.

Click Source Link

Document

The default value for the minEvictableIdleTimeMillis configuration attribute.

Usage

From source file:com.yahoo.athenz.common.server.db.DataSourceFactoryTest.java

@Test
public void testPoolConfigDefaultValues() {

    GenericObjectPoolConfig config = DataSourceFactory.setupPoolConfig();
    assertNotNull(config);//from   www .jav  a 2s  .  com
    assertEquals(config.getMaxTotal(), GenericObjectPoolConfig.DEFAULT_MAX_TOTAL);
    assertEquals(config.getMaxIdle(), GenericObjectPoolConfig.DEFAULT_MAX_IDLE);
    assertEquals(config.getMinIdle(), GenericObjectPoolConfig.DEFAULT_MIN_IDLE);
    assertEquals(config.getMaxWaitMillis(), GenericObjectPoolConfig.DEFAULT_MAX_WAIT_MILLIS);
    assertEquals(config.getMinEvictableIdleTimeMillis(),
            BaseObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS);
    assertEquals(config.getTimeBetweenEvictionRunsMillis(),
            BaseObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS);
    assertTrue(config.getTestWhileIdle());
    assertTrue(config.getTestOnBorrow());
}

From source file:com.yahoo.athenz.common.server.db.DataSourceFactory.java

public static GenericObjectPoolConfig setupPoolConfig() {

    // setup config vars for the object pool
    // ie. min and max idle instances, and max total instances of arbitrary objects

    GenericObjectPoolConfig config = new GenericObjectPoolConfig();

    // The maximum number of active connections that can be allocated from
    // this pool at the same time, or negative for no limit. Default: 8
    config.setMaxTotal(//  w ww .j  a  va2  s. c  o m
            retrieveConfigSetting(ATHENZ_PROP_DBPOOL_MAX_TOTAL, GenericObjectPoolConfig.DEFAULT_MAX_TOTAL));
    if (config.getMaxTotal() == 0) {
        config.setMaxTotal(-1); // -1 means no limit
    }

    //  The maximum number of connections that can remain idle in the pool,
    // without extra ones being released, or negative for no limit. Default 8
    config.setMaxIdle(
            retrieveConfigSetting(ATHENZ_PROP_DBPOOL_MAX_IDLE, GenericObjectPoolConfig.DEFAULT_MAX_IDLE));
    if (config.getMaxIdle() == 0) {
        config.setMaxIdle(-1); // -1 means no limit
    }

    // The minimum number of connections that can remain idle in the pool,
    // without extra ones being created, or zero to create none. Default 0
    config.setMinIdle(
            retrieveConfigSetting(ATHENZ_PROP_DBPOOL_MIN_IDLE, GenericObjectPoolConfig.DEFAULT_MIN_IDLE));

    // The maximum number of milliseconds that the pool will wait (when
    // there are no available connections) for a connection to be returned
    // before throwing an exception, or -1 to wait indefinitely. Default -1
    config.setMaxWaitMillis(retrieveConfigSetting(ATHENZ_PROP_DBPOOL_MAX_WAIT,
            GenericObjectPoolConfig.DEFAULT_MAX_WAIT_MILLIS));

    // setup the configuration to cleanup idle connections
    //
    // Minimum time an object can be idle in the pool before being eligible
    // for eviction by the idle object evictor.
    // The default value is 30 minutes (1000 * 60 * 30).
    config.setMinEvictableIdleTimeMillis(retrieveConfigSetting(ATHENZ_PROP_DBPOOL_EVICT_IDLE_TIMEOUT,
            BaseObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS));

    // Number of milliseconds to sleep between runs of idle object evictor thread.
    // Not using DEFAULT_TIME_BETWEEN_EVICTION_RUNS_MILLIS since it is -1
    // meaning it will not run the evictor thread and instead we're using
    // the default min value for evictable idle connections (Default 30 minutes)
    config.setTimeBetweenEvictionRunsMillis(retrieveConfigSetting(ATHENZ_PROP_DBPOOL_EVICT_IDLE_INTERVAL,
            BaseObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS));

    if (LOG.isDebugEnabled()) {
        LOG.debug("Config settings for idle object eviction: " + "time interval between eviction thread runs ("
                + config.getTimeBetweenEvictionRunsMillis() + " millis): minimum timeout for idle objects ("
                + config.getMinEvictableIdleTimeMillis() + " millis)");
    }

    // Validate objects by the idle object evictor. If invalid, gets dropped
    // from the pool.
    config.setTestWhileIdle(true);

    // Validate object before borrowing from pool. If invalid, gets dropped
    // from the pool and an attempt to borrow another one will occur.
    config.setTestOnBorrow(true);
    return config;
}

From source file:com.yahoo.athenz.common.server.db.DataSourceFactoryTest.java

@Test
public void testPoolConfigInvalidValues() {

    System.setProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_MAX_TOTAL, "a");
    System.setProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_MAX_IDLE, "b");
    System.setProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_MIN_IDLE, "c");
    System.setProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_MAX_WAIT, "d");
    System.setProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_EVICT_IDLE_TIMEOUT, "e");
    System.setProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_EVICT_IDLE_INTERVAL, "f");

    GenericObjectPoolConfig config = DataSourceFactory.setupPoolConfig();
    assertNotNull(config);//from  ww w  . ja  va  2 s.  com

    assertEquals(config.getMaxTotal(), GenericObjectPoolConfig.DEFAULT_MAX_TOTAL);
    assertEquals(config.getMaxIdle(), GenericObjectPoolConfig.DEFAULT_MAX_IDLE);
    assertEquals(config.getMinIdle(), GenericObjectPoolConfig.DEFAULT_MIN_IDLE);
    assertEquals(config.getMaxWaitMillis(), GenericObjectPoolConfig.DEFAULT_MAX_WAIT_MILLIS);
    assertEquals(config.getMinEvictableIdleTimeMillis(),
            BaseObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS);
    assertEquals(config.getTimeBetweenEvictionRunsMillis(),
            BaseObjectPoolConfig.DEFAULT_MIN_EVICTABLE_IDLE_TIME_MILLIS);
    assertTrue(config.getTestWhileIdle());
    assertTrue(config.getTestOnBorrow());

    System.clearProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_MAX_TOTAL);
    System.clearProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_MAX_IDLE);
    System.clearProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_MIN_IDLE);
    System.clearProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_MAX_WAIT);
    System.clearProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_EVICT_IDLE_TIMEOUT);
    System.clearProperty(DataSourceFactory.ATHENZ_PROP_DBPOOL_EVICT_IDLE_INTERVAL);
}