Example usage for org.apache.commons.pool.impl GenericObjectPool WHEN_EXHAUSTED_BLOCK

List of usage examples for org.apache.commons.pool.impl GenericObjectPool WHEN_EXHAUSTED_BLOCK

Introduction

In this page you can find the example usage for org.apache.commons.pool.impl GenericObjectPool WHEN_EXHAUSTED_BLOCK.

Prototype

byte WHEN_EXHAUSTED_BLOCK

To view the source code for org.apache.commons.pool.impl GenericObjectPool WHEN_EXHAUSTED_BLOCK.

Click Source Link

Document

A "when exhausted action" type indicating that when the pool is exhausted (i.e., the maximum number of active objects has been reached), the #borrowObject method should block until a new object is available, or the #getMaxWait maximum wait time has been reached.

Usage

From source file:com.tethrnet.manage.util.DSPool.java

/**
 * register the data source for H2 DB/* w  w w .j  a v  a  2s.c o  m*/
 *
 * @return pooling database object
 */

private static PoolingDataSource registerDataSource() {

    // create a database connection
    String user = "tethrnetbox";
    String password = "filepwd 45WJLnwhpA47EepT162hrVnDn3vYRvJhpZi0sVdvN9Sdsf";
    String connectionURI = "jdbc:h2:" + DB_PATH + "/tethrnetbox;CIPHER=AES";

    String validationQuery = "select 1";

    try {
        Class.forName("org.h2.Driver");
    } catch (ClassNotFoundException ex) {
        log.error(ex.toString(), ex);
    }

    GenericObjectPool connectionPool = new GenericObjectPool(null);

    connectionPool.setMaxActive(25);
    connectionPool.setTestOnBorrow(true);
    connectionPool.setMinIdle(2);
    connectionPool.setMaxWait(15000);
    connectionPool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK);

    ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectionURI, user, password);

    new PoolableConnectionFactory(connectionFactory, connectionPool, null, validationQuery, false, true);

    return new PoolingDataSource(connectionPool);

}

From source file:com.github.autermann.matlab.server.MatlabInstancePool.java

public MatlabInstancePool(MatlabInstancePoolConfiguration config) {
    final InstanceFactory factory = new InstanceFactory(config.getInstanceConfig());
    this.pool = new GenericObjectPool<MatlabInstance>(factory);
    this.pool.setMaxActive(config.getNumThreads());
    this.pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK);
}

From source file:com.lithium.flow.util.ConfigObjectPool.java

private static Config buildConfig(@Nonnull com.lithium.flow.config.Config config) {
    Config poolConfig = new Config();
    poolConfig.lifo = config.getBoolean("pool.lifo", true);
    poolConfig.maxActive = config.getInt("pool.maxActive", Runtime.getRuntime().availableProcessors());
    poolConfig.maxIdle = config.getInt("pool.maxIdle", -1);
    poolConfig.minIdle = config.getInt("pool.minIdle", 0);
    poolConfig.testOnBorrow = config.getBoolean("pool.testOnBorrow", false);
    poolConfig.testOnReturn = config.getBoolean("pool.testOnReturn", false);
    poolConfig.timeBetweenEvictionRunsMillis = config.getTime("pool.timeBetweenEvictionRunsMillis", "-1");
    poolConfig.minEvictableIdleTimeMillis = config.getTime("pool.minEvictableIdleTimeMillis", "30m");
    poolConfig.testWhileIdle = config.getBoolean("pool.testWhileIdle", false);
    poolConfig.softMinEvictableIdleTimeMillis = config.getTime("pool.softMinEvictableIdleTimeMillis", "-1");
    poolConfig.numTestsPerEvictionRun = config.getInt("pool.numTestsPerEvictionRun", 3);

    String action = config.getString("pool.whenExhaustedAction", "block");
    switch (action) {
    case "fail":
        poolConfig.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_FAIL;
        break;//from   w  w w  .j  a va2s. co  m
    case "block":
        poolConfig.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_BLOCK;
        break;
    case "grow":
        poolConfig.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_GROW;
        break;
    default:
        throw new IllegalConfigException("pool.whenExhaustedAction", action, "string", null);
    }

    return poolConfig;
}

From source file:com.genentech.struchk.NormalizerPool.java

private NormalizerPool(Set<CHECKType> exclusions, boolean errorAsWarning) {
    Config poolcfg = new Config();
    poolcfg.maxIdle = 3;/*from w  ww . j  ava  2 s.  c o m*/
    poolcfg.maxActive = 20;
    poolcfg.timeBetweenEvictionRunsMillis = 1000 * 3600;
    poolcfg.testWhileIdle = true;
    // since we do not set maxActive for the moment this does not matter
    poolcfg.whenExhaustedAction = GenericObjectPool.WHEN_EXHAUSTED_BLOCK;
    poolcfg.maxWait = 40000;
    NormalizerFactory fact = new NormalizerFactory(exclusions, errorAsWarning);

    pool = new GenericObjectPool(fact, poolcfg);
}

From source file:com.keybox.manage.util.DSPool.java

/**
 * register the data source for H2 DB/* ww w.j  av  a2 s  . c  o m*/
 *
 * @return pooling database object
 */

private static PoolingDataSource registerDataSource() {

    // create a database connection
    String user = "keybox";
    String password = "filepwd 45WJLnwhpA47EepT162hrVnDn3vYRvJhpZi0sVdvN9Sdsf";
    String connectionURI = "jdbc:h2:" + getDBPath() + "/keybox;CIPHER=AES";

    String validationQuery = "select 1";

    try {
        Class.forName("org.h2.Driver");
    } catch (ClassNotFoundException ex) {
        log.error(ex.toString(), ex);
    }

    GenericObjectPool connectionPool = new GenericObjectPool(null);

    connectionPool.setMaxActive(MAX_ACTIVE);
    connectionPool.setTestOnBorrow(TEST_ON_BORROW);
    connectionPool.setMinIdle(MIN_IDLE);
    connectionPool.setMaxWait(MAX_WAIT);
    connectionPool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK);

    ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectionURI, user, password);

    new PoolableConnectionFactory(connectionFactory, connectionPool, null, validationQuery, false, true);

    return new PoolingDataSource(connectionPool);

}

From source file:com.ec2box.manage.util.DSPool.java

/**
 * register the data source for H2 DB/*  w w w  . j a v  a2s.  co m*/
 *
 * @return pooling database object
 */

private static PoolingDataSource registerDataSource() {

    // create a database connection
    String user = "ec2box";
    String password = "filepwd 0WJLnwhpA47EepT1A4drVnDn3vYRvJhpZi0sVdvN9SmlbKw";
    String connectionURI = "jdbc:h2:" + getDBPath() + "/ec2box;CIPHER=AES;";

    if (StringUtils.isNotEmpty(DB_OPTIONS)) {
        connectionURI = connectionURI + DB_OPTIONS;
    }

    String validationQuery = "select 1";

    try {
        Class.forName("org.h2.Driver");
    } catch (ClassNotFoundException ex) {
        log.error(ex.toString(), ex);
    }

    GenericObjectPool connectionPool = new GenericObjectPool(null);

    connectionPool.setMaxActive(MAX_ACTIVE);
    connectionPool.setTestOnBorrow(TEST_ON_BORROW);
    connectionPool.setMinIdle(MIN_IDLE);
    connectionPool.setMaxWait(MAX_WAIT);
    connectionPool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK);

    ConnectionFactory connectionFactory = new DriverManagerConnectionFactory(connectionURI, user, password);

    new PoolableConnectionFactory(connectionFactory, connectionPool, null, validationQuery, false, true);

    return new PoolingDataSource(connectionPool);

}

From source file:com.adaptris.core.services.splitter.ServiceWorkerPoolLegacyTest.java

@Test
public void testCreateObjectPool() throws Exception {
    GenericObjectPool<ServiceWorkerPool.Worker> pool = createObjectPool();
    assertNotNull(pool);/*from  w  w  w.  ja  va  2s. com*/
    assertEquals(10, pool.getMaxActive());
    assertEquals(10, pool.getMinIdle());
    assertEquals(10, pool.getMaxIdle());
    assertEquals(-1, pool.getMaxWait());
    assertEquals(GenericObjectPool.WHEN_EXHAUSTED_BLOCK, pool.getWhenExhaustedAction());
}

From source file:com.centurylink.mdw.services.pooling.MDWConnectionPool.java

/**
 * This can be overriden to set pool size and borrow timeout
 * for each start/restart./*from ww  w  . jav a  2s .co m*/
 * The super method must be called at the end of the overriding method.
 * @throws Exception
 */
public synchronized void start() throws Exception {
    if (pool == null) {
        pool = new GenericObjectPool(new MDWPoolFactory());
    }
    pool.setMaxActive(pool_size);
    if (borrow_timeout < 0) {
        pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK);
        pool.setMaxWait(-1);
    } else if (borrow_timeout == 0) {
        pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_FAIL);
        pool.setMaxWait(0);
    } else {
        pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK);
        pool.setMaxWait(borrow_timeout * 1000);
    }
    setStarted(true);
}

From source file:com.cisco.dvbu.ps.common.adapters.connect.AdapterConnectionPool.java

public synchronized void init(Connector conn) {
    if (pool != null)
        return;/*from   www. ja  v a 2  s  .  c o m*/
    pool = new GenericObjectPool(new AdapterConnectionPoolFactory(conn));
    pool.setTimeBetweenEvictionRunsMillis(1000 * 60 * 5); // 5 minutes
    pool.setWhenExhaustedAction(GenericObjectPool.WHEN_EXHAUSTED_BLOCK);
    pool.setMaxActive((connConfig != null) ? connConfig.getMaxClients() : 5);
    pool.setMinIdle((connConfig != null) ? connConfig.getMinClients() : 3);
    pool.setMaxIdle((connConfig != null) ? connConfig.getMinClients() : 3);
    pool.setMaxWait(1000 * 60 * 5); // 5 minutes
    pool.setSoftMinEvictableIdleTimeMillis(1000 * 60 * 60);
    pool.setNumTestsPerEvictionRun(2);
}

From source file:edu.amc.sakai.user.GenericObjectPoolTest.java

protected void setUp() throws Exception {

    mockFactory = new Mock(PoolableObjectFactory.class);
    factory = (PoolableObjectFactory) mockFactory.proxy();

    pool = new GenericObjectPool(factory, 1, // maxActive
            GenericObjectPool.WHEN_EXHAUSTED_BLOCK, // whenExhaustedAction
            60000, // maxWait (millis)
            1, // maxIdle
            true, // testOnBorrow
            false // testOnReturn
    );//from   w  ww  .  j  av  a 2 s  . c om

    super.setUp();
}