Interface ThreadPool
- All Known Implementing Classes:
 SimpleThreadPool
 QuartzScheduler's use.
 ThreadPool implementation instances should ideally be made for the sole use of
 Quartz. Most importantly, when the method blockForAvailableThreads() returns a value
 of 1 or greater, there must still be at least one available thread in the pool when the method
 runInThread(Runnable) is called a few moments (or many moments) later. If this
 assumption does not hold true, it may result in extra JobStore queries and updates, and if
 clustering features are being used, it may result in greater imballance of load.
- Author:
 - James House
 - See Also:
 
- 
Method Summary
Modifier and TypeMethodDescriptionintDetermines the number of threads that are currently available in in the pool.intGet the current number of threads in theThreadPool.voidMust be called before theThreadPoolis used, in order to give the it a chance to initialize.booleanrunInThread(JobRunShell runnable) Execute the givenin the next availableRunnableThread.voidshutdown()Called by the QuartzScheduler to inform theThreadPoolthat it should free up all of it's resources because the scheduler is shutting down. 
- 
Method Details
- 
runInThread
Execute the givenin the next availableRunnableThread.The implementation of this interface should not throw exceptions unless there is a serious problem (i.e. a serious misconfiguration). If there are no immediately available threads
falseshould be returned.- Returns:
 - true, if the runnable was assigned to run on a Thread.
 
 - 
blockForAvailableThreads
int blockForAvailableThreads()Determines the number of threads that are currently available in in the pool. Useful for determining the number of timesrunInThread(Runnable)can be called before returning false.The implementation of this method should block until there is at least one available thread.
- Returns:
 - the number of currently available threads
 
 - 
initialize
Must be called before theThreadPoolis used, in order to give the it a chance to initialize.Typically called by the
SchedulerFactory.- Throws:
 SchedulerConfigException
 - 
shutdown
void shutdown()Called by the QuartzScheduler to inform theThreadPoolthat it should free up all of it's resources because the scheduler is shutting down. - 
getPoolSize
int getPoolSize()Get the current number of threads in theThreadPool. 
 -