|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
The Pool Service extends the Factory Service by adding support for pooling instantiated objects. When a new instance is requested, the service first checks its pool if one is available. If the the pool is empty, a new object will be instantiated from the specified class. If only class name is given, the request to create an intance will be forwarded to the Factory Service.
For objects implementing the Recyclable interface, a recycle method will be called, when they are taken from the pool, and a dispose method, when they are returned to the pool.
Field Summary | |
static int |
DEFAULT_POOL_CAPACITY
The default pool capacity. |
static java.lang.String |
SERVICE_NAME
The key under which this service is stored in TurbineServices. |
Method Summary | |
void |
clearPool()
Clears all instances from the pool. |
void |
clearPool(java.lang.String className)
Clears instances of a named class from the pool. |
int |
getCapacity(java.lang.String className)
Gets the capacity of the pool for a named class. |
java.lang.Object |
getInstance(java.lang.Class clazz)
Gets an instance of a specified class either from the pool or by instatiating from the class if the pool is empty. |
java.lang.Object |
getInstance(java.lang.Class clazz,
java.lang.Object[] params,
java.lang.String[] signature)
Gets an instance of a specified class either from the pool or by instatiating from the class if the pool is empty. |
int |
getSize(java.lang.String className)
Gets the current size of the pool for a named class. |
boolean |
putInstance(java.lang.Object instance)
Puts a used object back to the pool. |
void |
setCapacity(java.lang.String className,
int capacity)
Sets the capacity of the pool for a named class. |
Methods inherited from interface org.apache.turbine.services.factory.FactoryService |
getInstance, getInstance, getInstance, getInstance, isLoaderSupported |
Methods inherited from interface org.apache.turbine.services.Service |
getConfiguration, getProperties, setName, setServiceBroker |
Methods inherited from interface org.apache.turbine.services.Initable |
getInit, init, init, setInitableBroker, shutdown |
Field Detail |
public static final java.lang.String SERVICE_NAME
public static final int DEFAULT_POOL_CAPACITY
Method Detail |
public java.lang.Object getInstance(java.lang.Class clazz) throws TurbineException
clazz
- the class.TurbineException
- if recycling fails.public java.lang.Object getInstance(java.lang.Class clazz, java.lang.Object[] params, java.lang.String[] signature) throws TurbineException
clazz
- the class.params
- an array containing the parameters of the constructor.signature
- an array containing the signature of the constructor.TurbineException
- if recycling fails.public boolean putInstance(java.lang.Object instance)
instance
- the object instance to recycle.public int getCapacity(java.lang.String className)
className
- the name of the class.public void setCapacity(java.lang.String className, int capacity)
className
- the name of the class.capacity
- the new capacity.public int getSize(java.lang.String className)
className
- the name of the class.public void clearPool(java.lang.String className)
className
- the name of the class.public void clearPool()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |