Class ResourcePool<R extends IResource>

java.lang.Object
com.j_spaces.kernel.pool.ResourcePool<R>
All Implemented Interfaces:
IResourcePool<R>
Direct Known Subclasses:
BlockingResourcePool, MemoryBoundedResourcePool

public class ResourcePool<R extends IResource> extends Object implements IResourcePool<R>
A Bound Pool of Resource objects. At construction, the pool consumes as many as minResources resources. When a resource requests is submitted, and less than maxResources are being used, a free resource will be returned from the pool. When all resources are in use, a new Resource will be allocated by the resourceFactory. There can be no more than maxResources in the pool, and excessive resources are discarded.
  • Constructor Details

    • ResourcePool

      public ResourcePool(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 resources
      minResources - resources to pre-allocate; can be zero
      maxResources - upper bound on the number of resources
    • ResourcePool

      protected ResourcePool(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 resources
      minResources - resources to pre-allocate; can be zero
      maxResources - upper bound on the number of resources
      initialResources - initial array of resources to init the pool with
  • Method Details