Package io.micronaut.jms.pool
Class AbstractPool<T extends PooledObject<?>>
java.lang.Object
io.micronaut.jms.pool.AbstractPool<T>
- Type Parameters:
 T- thePooledObjecttype
- Direct Known Subclasses:
 JMSConnectionPool,MessageProducerPool,SessionPool
Base class for object pool implementations.
- Since:
 - 1.0.0
 - Author:
 - Elliott Pope
 
- 
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final intprotected final int - 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionprotected abstract TCreate an object for the pool.voidRelease the provided object and return it to the pool.Requests an object<T>from the pool.protected abstract voidReset the provided object so it can be returned to the pool for reuse. 
- 
Field Details
- 
pool
 - 
initialSize
protected final int initialSize - 
maxSize
protected final int maxSize 
 - 
 - 
Constructor Details
- 
AbstractPool
protected AbstractPool(int initialSize, int maxSize)  
 - 
 - 
Method Details
- 
request
Requests an object<T>from the pool. Adds a new instance to the pool if the pool is empty.- Parameters:
 args- the arguments to pass to the create method, or to help select an object from the pool.- Returns:
 - a 
PooledObjectfrom the pool. - Throws:
 IllegalStateException- if the number of active instances exceeds the configured size
 - 
release
Release the provided object and return it to the pool.- Parameters:
 pooledObject- the object to return to the pool
 - 
create
Create an object for the pool.- Parameters:
 args- the arguments to be provided to the create method.- Returns:
 - a new object of type 
<T>for the pool. 
 - 
reset
Reset the provided object so it can be returned to the pool for reuse.- Parameters:
 pooledObject- the object
 
 -