Class OResourcePool<K,V>

java.lang.Object
com.orientechnologies.common.concur.resource.OResourcePool<K,V>
Type Parameters:
K - Resource's Key
V - Resource Object
Direct Known Subclasses:
OReentrantResourcePool

public class OResourcePool<K,V> extends Object
Generic non reentrant implementation about pool of resources. It pre-allocates a semaphore of maxResources. Resources are lazily created by invoking the listener.
Author:
Luca Garulli (l.garulli--(at)--orientdb.com)
  • Field Details

  • Constructor Details

  • Method Details

    • getResource

      public V getResource(K key, long maxWaitMillis, Object... additionalArgs) throws OAcquireTimeoutException
      Throws:
      OAcquireTimeoutException
    • getMaxResources

      public int getMaxResources()
    • getAvailableResources

      public int getAvailableResources()
    • getInPoolResources

      public int getInPoolResources()
    • returnResource

      public boolean returnResource(V res)
    • getResources

      public Collection<V> getResources()
    • close

      public void close()
    • getAllResources

      public Collection<V> getAllResources()
    • remove

      public void remove(V res)
    • getCreatedInstances

      public int getCreatedInstances()
    • getResourcesOutCount

      public int getResourcesOutCount()