org.apache.commons.pool
Class WaiterFactory

java.lang.Object
  extended by org.apache.commons.pool.WaiterFactory
All Implemented Interfaces:
KeyedPoolableObjectFactory, PoolableObjectFactory

public class WaiterFactory
extends Object
implements PoolableObjectFactory, KeyedPoolableObjectFactory

Object factory with configurable latencies for object lifecycle methods. This factory will also track and enforce maxActive, maxActivePerKey contracts. If the factory's maxActive / maxActivePerKey are set to match those of the pool, makeObject will throw IllegalStateException if the number of makes - destroys (per key) exceeds the configured max.


Constructor Summary
WaiterFactory(long activateLatency, long destroyLatency, long makeLatency, long passivateLatency, long validateLatency, long waiterLatency)
           
WaiterFactory(long activateLatency, long destroyLatency, long makeLatency, long passivateLatency, long validateLatency, long waiterLatency, long maxActive)
           
WaiterFactory(long activateLatency, long destroyLatency, long makeLatency, long passivateLatency, long validateLatency, long waiterLatency, long maxActive, long maxActivePerKey, double passivateInvalidationProbability)
           
 
Method Summary
 void activateObject(Object obj)
           
 void activateObject(Object key, Object obj)
           
 void destroyObject(Object obj)
           
 void destroyObject(Object key, Object obj)
           
protected  void doWait(long latency)
           
 long getMaxActive()
           
 Object makeObject()
           
 Object makeObject(Object key)
           
 void passivateObject(Object arg0)
           
 void passivateObject(Object key, Object obj)
           
 void reset()
           
 boolean validateObject(Object arg0)
           
 boolean validateObject(Object key, Object obj)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

WaiterFactory

public WaiterFactory(long activateLatency,
                     long destroyLatency,
                     long makeLatency,
                     long passivateLatency,
                     long validateLatency,
                     long waiterLatency,
                     long maxActive,
                     long maxActivePerKey,
                     double passivateInvalidationProbability)

WaiterFactory

public WaiterFactory(long activateLatency,
                     long destroyLatency,
                     long makeLatency,
                     long passivateLatency,
                     long validateLatency,
                     long waiterLatency)

WaiterFactory

public WaiterFactory(long activateLatency,
                     long destroyLatency,
                     long makeLatency,
                     long passivateLatency,
                     long validateLatency,
                     long waiterLatency,
                     long maxActive)
Method Detail

activateObject

public void activateObject(Object obj)
                    throws Exception
Specified by:
activateObject in interface PoolableObjectFactory
Throws:
Exception

destroyObject

public void destroyObject(Object obj)
                   throws Exception
Specified by:
destroyObject in interface PoolableObjectFactory
Throws:
Exception

makeObject

public Object makeObject()
                  throws Exception
Specified by:
makeObject in interface PoolableObjectFactory
Throws:
Exception

passivateObject

public void passivateObject(Object arg0)
                     throws Exception
Specified by:
passivateObject in interface PoolableObjectFactory
Throws:
Exception

validateObject

public boolean validateObject(Object arg0)
Specified by:
validateObject in interface PoolableObjectFactory

doWait

protected void doWait(long latency)

reset

public void reset()

getMaxActive

public long getMaxActive()
Returns:
the maxActive

activateObject

public void activateObject(Object key,
                           Object obj)
                    throws Exception
Specified by:
activateObject in interface KeyedPoolableObjectFactory
Throws:
Exception

destroyObject

public void destroyObject(Object key,
                          Object obj)
                   throws Exception
Specified by:
destroyObject in interface KeyedPoolableObjectFactory
Throws:
Exception

makeObject

public Object makeObject(Object key)
                  throws Exception
Specified by:
makeObject in interface KeyedPoolableObjectFactory
Throws:
Exception

passivateObject

public void passivateObject(Object key,
                            Object obj)
                     throws Exception
Specified by:
passivateObject in interface KeyedPoolableObjectFactory
Throws:
Exception

validateObject

public boolean validateObject(Object key,
                              Object obj)
Specified by:
validateObject in interface KeyedPoolableObjectFactory


Copyright © 2001-2014 The Apache Software Foundation. All Rights Reserved.