Class Pool<T>

java.lang.Object
com.sun.xml.ws.util.Pool<T>
Direct Known Subclasses:
Pool.Marshaller, Pool.TubePool, Pool.Unmarshaller

public abstract class Pool<T> extends Object
General-purpose object pool.

In many parts of the runtime, we need to pool instances of objects that are expensive to create (such as JAXB objects, StAX parsers, Tube instances.)

This class provides a default implementation of such a pool. TODO: improve the implementation

Author:
Kohsuke Kawaguchi
  • Constructor Details

    • Pool

      public Pool()
  • Method Details

    • take

      public final T take()
      Gets a new object from the pool.

      If no object is available in the pool, this method creates a new one.

      Returns:
      always non-null.
    • recycle

      public final void recycle(T t)
      Returns an object back to the pool.
    • create

      protected abstract T create()
      Creates a new instance of object.

      This method is used when someone wants to take an object from an empty pool.

      Also note that multiple threads may call this method concurrently.