Top Description Fields Constructors Methods
com.mchange.v2.resourcepool

public abstract Class ResourcePoolFactory

extends Object
Class Inheritance
Known Direct Subclasses
com.mchange.v2.resourcepool.BasicResourcePoolFactory
Imports
java.util.Timer, com.mchange.v2.async.*

A Factory for ResourcePools. ResourcePoolFactories may manage resources (usually threads that perform maintenance tasks) that are shared by all pools that they create. Clients who require a large number of pools may wish to create their own factory instances rather than using the shared instance to control the degree of resource (Thread) sharing among pools.

Factories should (and the default implementation does) be careful to ensure that factories keep resources open only while there are active ResourcePools that they have created.

Subclasses must mark all methods synchronized so that clients may reliably use shared factories to do stuff like...

   synchronized (factory)
   {
       factory.setMin(8);
       factory.setMax(24);
       ResourcePool rp = factory.createPool();
   }

Field Summary

Modifier and TypeField and Description
pack-priv static final int
pack-priv static final ResourcePoolFactory

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static ResourcePoolFactory
public static ResourcePoolFactory
createInstance(int num_task_threads)

public static ResourcePoolFactory
createInstance(AsynchronousRunner taskRunner, RunnableQueue asyncEventQueue, Timer cullTimer)

Any or all of these arguments can be null -- any unspecified resources will be created and cleaned up internally.

public static ResourcePoolFactory
createInstance(Queuable taskRunnerEventQueue, Timer cullTimer)

public abstract ResourcePool
public abstract int
public abstract int
public abstract boolean
public abstract boolean
public abstract long
public abstract long
public abstract long
public abstract boolean
public abstract long
public abstract int
public abstract int
public abstract int
public abstract long
public abstract long
public static ResourcePoolFactory
public abstract int
public abstract void
setAcquisitionRetryAttempts(int retry_attempts)

public abstract void
setAcquisitionRetryDelay(int retry_delay)

public abstract void
public abstract void
setDebugStoreCheckoutStackTrace(boolean debug_store_checkout_stacktrace)

public abstract void
public abstract void
public abstract void
public abstract void
setForceSynchronousCheckins(boolean force_synchronous_checkins)

public abstract void
setIdleResourceTestPeriod(long test_period)

public abstract void
setIncrement(int max)

public abstract void
setMax(int max)

public abstract void
setMin(int min)

public abstract void
setResourceMaxAge(long millis)

public abstract void
public abstract void
setStart(int start)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

DEFAULT_NUM_TASK_THREADSback to summary
pack-priv static final int DEFAULT_NUM_TASK_THREADS
SHARED_INSTANCEback to summary
pack-priv static final ResourcePoolFactory SHARED_INSTANCE

Constructor Detail

ResourcePoolFactoryback to summary
public ResourcePoolFactory()

Method Detail

createInstanceback to summary
public static ResourcePoolFactory createInstance()
createInstanceback to summary
public static ResourcePoolFactory createInstance(int num_task_threads)
createInstanceback to summary
public static ResourcePoolFactory createInstance(AsynchronousRunner taskRunner, RunnableQueue asyncEventQueue, Timer cullTimer)

Any or all of these arguments can be null -- any unspecified resources will be created and cleaned up internally.

createInstanceback to summary
public static ResourcePoolFactory createInstance(Queuable taskRunnerEventQueue, Timer cullTimer)
createPoolback to summary
public abstract ResourcePool createPool(ResourcePool.Manager mgr) throws ResourcePoolException
getAcquisitionRetryAttemptsback to summary
public abstract int getAcquisitionRetryAttempts() throws ResourcePoolException
getAcquisitionRetryDelayback to summary
public abstract int getAcquisitionRetryDelay() throws ResourcePoolException
getBreakOnAcquisitionFailureback to summary
public abstract boolean getBreakOnAcquisitionFailure() throws ResourcePoolException
getDebugStoreCheckoutStackTraceback to summary
public abstract boolean getDebugStoreCheckoutStackTrace() throws ResourcePoolException
getDestroyOverdueResourceTimeback to summary
public abstract long getDestroyOverdueResourceTime() throws ResourcePoolException
getExcessResourceMaxIdleTimeback to summary
public abstract long getExcessResourceMaxIdleTime() throws ResourcePoolException
getExpirationEnforcementDelayback to summary
public abstract long getExpirationEnforcementDelay() throws ResourcePoolException
getForceSynchronousCheckinsback to summary
public abstract boolean getForceSynchronousCheckins() throws ResourcePoolException
getIdleResourceTestPeriodback to summary
public abstract long getIdleResourceTestPeriod() throws ResourcePoolException
getIncrementback to summary
public abstract int getIncrement() throws ResourcePoolException
getMaxback to summary
public abstract int getMax() throws ResourcePoolException
getMinback to summary
public abstract int getMin() throws ResourcePoolException
getResourceMaxAgeback to summary
public abstract long getResourceMaxAge() throws ResourcePoolException
getResourceMaxIdleTimeback to summary
public abstract long getResourceMaxIdleTime() throws ResourcePoolException
getSharedInstanceback to summary
public static ResourcePoolFactory getSharedInstance() throws ResourcePoolException
getStartback to summary
public abstract int getStart() throws ResourcePoolException
setAcquisitionRetryAttemptsback to summary
public abstract void setAcquisitionRetryAttempts(int retry_attempts) throws ResourcePoolException
setAcquisitionRetryDelayback to summary
public abstract void setAcquisitionRetryDelay(int retry_delay) throws ResourcePoolException
setBreakOnAcquisitionFailureback to summary
public abstract void setBreakOnAcquisitionFailure(boolean b) throws ResourcePoolException
setDebugStoreCheckoutStackTraceback to summary
public abstract void setDebugStoreCheckoutStackTrace(boolean debug_store_checkout_stacktrace) throws ResourcePoolException
setDestroyOverdueResourceTimeback to summary
public abstract void setDestroyOverdueResourceTime(long millis) throws ResourcePoolException
setExcessResourceMaxIdleTimeback to summary
public abstract void setExcessResourceMaxIdleTime(long millis) throws ResourcePoolException
setExpirationEnforcementDelayback to summary
public abstract void setExpirationEnforcementDelay(long millis) throws ResourcePoolException
setForceSynchronousCheckinsback to summary
public abstract void setForceSynchronousCheckins(boolean force_synchronous_checkins) throws ResourcePoolException
setIdleResourceTestPeriodback to summary
public abstract void setIdleResourceTestPeriod(long test_period) throws ResourcePoolException
setIncrementback to summary
public abstract void setIncrement(int max) throws ResourcePoolException
setMaxback to summary
public abstract void setMax(int max) throws ResourcePoolException
setMinback to summary
public abstract void setMin(int min) throws ResourcePoolException
setResourceMaxAgeback to summary
public abstract void setResourceMaxAge(long millis) throws ResourcePoolException
setResourceMaxIdleTimeback to summary
public abstract void setResourceMaxIdleTime(long millis) throws ResourcePoolException
setStartback to summary
public abstract void setStart(int start) throws ResourcePoolException