|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface PoolService
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 |
POOL_CAPACITY_KEY
The name of the pool capacity property |
static boolean |
POOL_DEBUG_DEFAULT
Default Value for debug mode |
static java.lang.String |
POOL_DEBUG_KEY
Are we running in debug mode? |
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. |
java.lang.Object |
getInstance(java.lang.String className)
Gets an instance of a named class. |
java.lang.Object |
getInstance(java.lang.String className,
java.lang.ClassLoader loader)
Gets an instance of a named class using a specified class loader. |
java.lang.Object |
getInstance(java.lang.String className,
java.lang.ClassLoader loader,
java.lang.Object[] params,
java.lang.String[] signature)
Gets an instance of a named class using a specified class loader. |
java.lang.Object |
getInstance(java.lang.String className,
java.lang.Object[] params,
java.lang.String[] signature)
Gets an instance of a named class. |
int |
getSize(java.lang.String className)
Gets the current size of the pool for a named class. |
boolean |
isLoaderSupported(java.lang.String className)
Deprecated. Use TurbineFactory.isLoaderSupported(className) |
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.Service |
---|
getConfiguration, getName, getProperties, setName, setServiceBroker |
Methods inherited from interface org.apache.turbine.services.Initable |
---|
getInit, init, init, setInitableBroker, shutdown |
Field Detail |
---|
static final java.lang.String SERVICE_NAME
static final int DEFAULT_POOL_CAPACITY
static final java.lang.String POOL_CAPACITY_KEY
static final java.lang.String POOL_DEBUG_KEY
static final boolean POOL_DEBUG_DEFAULT
Method Detail |
---|
java.lang.Object getInstance(java.lang.String className) throws TurbineException
className
- the name of the class.
TurbineException
- if instantiation fails.java.lang.Object getInstance(java.lang.String className, java.lang.ClassLoader loader) throws TurbineException
Class loaders are supported only if the isLoaderSupported method returns true. Otherwise the loader parameter is ignored.
className
- the name of the class.loader
- the class loader.
TurbineException
- if instantiation fails.java.lang.Object getInstance(java.lang.String className, java.lang.Object[] params, java.lang.String[] signature) throws TurbineException
className
- the name of the class.params
- an array containing the parameters of the constructor.signature
- an array containing the signature of the constructor.
TurbineException
- if instantiation fails.java.lang.Object getInstance(java.lang.String className, java.lang.ClassLoader loader, java.lang.Object[] params, java.lang.String[] signature) throws TurbineException
Class loaders are supported only if the isLoaderSupported method returns true. Otherwise the loader parameter is ignored.
className
- the name of the class.loader
- the class loader.params
- an array containing the parameters of the constructor.signature
- an array containing the signature of the constructor.
TurbineException
- if instantiation fails.boolean isLoaderSupported(java.lang.String className) throws TurbineException
className
- the name of the class.
TurbineException
- if test fails.java.lang.Object getInstance(java.lang.Class clazz) throws TurbineException
clazz
- the class.
TurbineException
- if recycling fails.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.boolean putInstance(java.lang.Object instance)
instance
- the object instance to recycle.
int getCapacity(java.lang.String className)
className
- the name of the class.void setCapacity(java.lang.String className, int capacity)
className
- the name of the class.capacity
- the new capacity.int getSize(java.lang.String className)
className
- the name of the class.void clearPool(java.lang.String className)
className
- the name of the class.void clearPool()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |