Package com.j_spaces.kernel.pool
Class BlockingResourcePool<R extends IResource>
java.lang.Object
com.j_spaces.kernel.pool.ResourcePool<R>
com.j_spaces.kernel.pool.BlockingResourcePool<R>
- All Implemented Interfaces:
IResourcePool<R>
a resource pool that blocks clients when all resources are busy.
- Since:
- 6.6
- Version:
- 1.0
- Author:
- asy ronen
-
Constructor Summary
ConstructorsConstructorDescriptionBlockingResourcePool(IResourceFactory<R> resourceFactory, int minResources, int maxResources) Creates a new Resources Pool with the specified resourceFactory, and max Resources.BlockingResourcePool(IResourceFactory<R> resourceFactory, int minResources, int maxResources, R[] initialResources) Creates a new Resources Pool with the specified resourceFactory, and max Resources. -
Method Summary
Modifier and TypeMethodDescriptionvoidfreeResource(R resourceToFree) Free the specified resource.protected RhandleFullPool(boolean waitIfNeeded) Methods inherited from class com.j_spaces.kernel.pool.ResourcePool
availableResources, forAllResources, getResource, getResource, size, tryAllocateNewPooledResource
-
Constructor Details
-
BlockingResourcePool
public BlockingResourcePool(IResourceFactory<R> resourceFactory, int minResources, int maxResources) Creates a new Resources Pool with the specified resourceFactory, and max Resources.- Parameters:
resourceFactory- resource factory instance for new resourcesminResources- resources to pre-allocate; can be zeromaxResources- upper bound on the number of resources
-
BlockingResourcePool
public BlockingResourcePool(IResourceFactory<R> resourceFactory, int minResources, int maxResources, R[] initialResources) Creates a new Resources Pool with the specified resourceFactory, and max Resources.- Parameters:
resourceFactory- resource factory instance for new resourcesminResources- resources to pre-allocate; can be zeromaxResources- upper bound on the number of resourcesinitialResources- initial array of resources to init the pool with
-
-
Method Details
-
handleFullPool
- Overrides:
handleFullPoolin classResourcePool<R extends IResource>
-
freeResource
Description copied from class:ResourcePoolFree the specified resource. Same as callingIResource.release()- Specified by:
freeResourcein interfaceIResourcePool<R extends IResource>- Overrides:
freeResourcein classResourcePool<R extends IResource>
-