Class PooledFactory

java.lang.Object
org.apache.cxf.service.invoker.PooledFactory
All Implemented Interfaces:
Factory

public class PooledFactory extends Object implements Factory
Factory the maintains a pool of instances that are used. Can optionally create more instances than the size of the queue
  • Constructor Details

    • PooledFactory

      public PooledFactory(Class<?> svcClass, int max)
      Pool of instances of the svcClass
      Parameters:
      svcClass - the class to create
      max - the absolute maximum number to create and pool
    • PooledFactory

      public PooledFactory(Factory factory, int max)
      Pool of instances constructed from the given factory
      Parameters:
      factory -
      max - the absolute maximum number to create and pool
    • PooledFactory

      public PooledFactory(Factory factory, int max, boolean createMore)
      Pool of instances constructed from the given factory
      Parameters:
      factory -
      max - the absolute maximum number to create and pool
      createMore - If the pool is empty, but max objects have already been constructed, should more be constructed on a per-request basis (and then discarded when done) or should requests block until instances are released back into the pool.
    • PooledFactory

      public PooledFactory(Collection<Object> objs)
      Pool constructed from the give Collection of objects.
      Parameters:
      objs - The collection of objects to pre-populate the pool
  • Method Details

    • create

      public Object create(Exchange ex) throws Throwable
      Creates the object that will be used for the invoke
      Specified by:
      create in interface Factory
      Parameters:
      ex -
      Throws:
      Throwable
    • createObject

      protected Object createObject(Exchange e) throws Throwable
      Throws:
      Throwable
    • release

      public void release(Exchange ex, Object o)
      Post invoke, this is called to allow the factory to release the object, store it, etc...
      Specified by:
      release in interface Factory
      Parameters:
      ex -
      o - object created from the create method