Apache CXF API

org.apache.cxf.service.invoker
Class PooledFactory

java.lang.Object
  extended by 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 Summary
PooledFactory(Class svcClass, int max)
          Pool of instances of the svcClass
PooledFactory(Collection<Object> objs)
          Pool constructed from the give Collection of objects.
PooledFactory(Factory factory, int max)
          Pool of instances constructed from the given factory
PooledFactory(Factory factory, int max, boolean createMore)
          Pool of instances constructed from the given factory
 
Method Summary
 Object create(Exchange ex)
          Creates the object that will be used for the invoke
protected  Object createObject(Exchange e)
           
 void release(Exchange ex, Object o)
          Post invoke, this is called to allow the factory to release the object, store it, etc...
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 Detail

create

public Object create(Exchange ex)
              throws Throwable
Creates the object that will be used for the invoke

Specified by:
create in interface Factory
Returns:
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
o - object created from the create method

Apache CXF API

Apache CXF