Example usage for org.apache.commons.pool.impl GenericKeyedObjectPool setFactory

List of usage examples for org.apache.commons.pool.impl GenericKeyedObjectPool setFactory

Introduction

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

Prototype

public void setFactory(KeyedPoolableObjectFactory factory) throws IllegalStateException 

Source Link

Document

Sets the keyed poolable object factory associated with this pool.

If this method is called when objects are checked out of any of the keyed pools, an IllegalStateException is thrown.

Usage

From source file:TestKeyedObjectPool.java

 public static void main(String args[]) throws Exception {

   GenericKeyedObjectPool pool = new GenericKeyedObjectPool();
   pool.setFactory(new SkilledEmployeeFactory());

   pool.addObject("Java");
   pool.addObject("Java");
   pool.addObject("VB");
   pool.addObject("C++");

   System.err.println("Number of Java employees in pool: " +
     pool.getNumIdle("Java") + " out of total employees: " +
     pool.getNumIdle());//  w  w  w  .  j a  va2s  .  c  o m

   Employee employee = (Employee)pool.borrowObject("Java");

   employee.doWork();

   System.err.println("Employee: "  + employee);

   pool.returnObject("Java", employee);

   System.err.println("Number of Java employees in pool: " +
     pool.getNumIdle("Java") + " out of total employees: " +
     pool.getNumIdle());
}

From source file:edu.illinois.enforcemop.examples.apache.pool.TestGenericKeyedObjectPool.java

public void testSettersAndGetters() throws Exception {
    GenericKeyedObjectPool pool = new GenericKeyedObjectPool();
    {/*from  w  w w . j  a v  a2  s . c  om*/
        pool.setFactory(new SimpleFactory());
    }
    {
        pool.setMaxActive(123);
        assertEquals(123, pool.getMaxActive());
    }
    {
        pool.setMaxIdle(12);
        assertEquals(12, pool.getMaxIdle());
    }
    {
        pool.setMaxWait(1234L);
        assertEquals(1234L, pool.getMaxWait());
    }
    {
        pool.setMinEvictableIdleTimeMillis(12345L);
        assertEquals(12345L, pool.getMinEvictableIdleTimeMillis());
    }
    {
        pool.setNumTestsPerEvictionRun(11);
        assertEquals(11, pool.getNumTestsPerEvictionRun());
    }
    {
        pool.setTestOnBorrow(true);
        assertTrue(pool.getTestOnBorrow());
        pool.setTestOnBorrow(false);
        assertTrue(!pool.getTestOnBorrow());
    }
    {
        pool.setTestOnReturn(true);
        assertTrue(pool.getTestOnReturn());
        pool.setTestOnReturn(false);
        assertTrue(!pool.getTestOnReturn());
    }
    {
        pool.setTestWhileIdle(true);
        assertTrue(pool.getTestWhileIdle());
        pool.setTestWhileIdle(false);
        assertTrue(!pool.getTestWhileIdle());
    }
    {
        pool.setTimeBetweenEvictionRunsMillis(11235L);
        assertEquals(11235L, pool.getTimeBetweenEvictionRunsMillis());
    }
    {
        pool.setWhenExhaustedAction(GenericKeyedObjectPool.WHEN_EXHAUSTED_BLOCK);
        assertEquals(GenericObjectPool.WHEN_EXHAUSTED_BLOCK, pool.getWhenExhaustedAction());
        pool.setWhenExhaustedAction(GenericKeyedObjectPool.WHEN_EXHAUSTED_FAIL);
        assertEquals(GenericObjectPool.WHEN_EXHAUSTED_FAIL, pool.getWhenExhaustedAction());
        pool.setWhenExhaustedAction(GenericKeyedObjectPool.WHEN_EXHAUSTED_GROW);
        assertEquals(GenericObjectPool.WHEN_EXHAUSTED_GROW, pool.getWhenExhaustedAction());
    }
}

From source file:org.apache.ojb.broker.core.PersistenceBrokerFactoryDefaultImpl.java

/**
 * Create the {@link org.apache.commons.pool.KeyedObjectPool}, pooling
 * the {@link PersistenceBroker} instances - override this method to
 * implement your own pool and {@link org.apache.commons.pool.KeyedPoolableObjectFactory}.
 *//*w  ww  .j  av a2s. c o m*/
private GenericKeyedObjectPool createPool() {
    GenericKeyedObjectPool.Config conf = poolConfig.getKeyedObjectPoolConfig();
    if (log.isDebugEnabled())
        log.debug("PersistenceBroker pool will be setup with the following configuration "
                + ToStringBuilder.reflectionToString(conf, ToStringStyle.MULTI_LINE_STYLE));
    GenericKeyedObjectPool pool = new GenericKeyedObjectPool(null, conf);
    pool.setFactory(new PersistenceBrokerFactoryDefaultImpl.PBKeyedPoolableObjectFactory(this, pool));
    return pool;
}