| org.apache.cocoon.components.thread.DefaultRunnableManager
DefaultRunnableManager | public class DefaultRunnableManager extends AbstractLogEnabled implements RunnableManager,Configurable,Disposable,Runnable,Startable,ThreadSafe(Code) | | The DefaultRunnableManager implements the
RunnableManager interface
and is responsible to create
ThreadPool s and run
Runnable s
in them as background commands.
The configuration of the DefaultRunnableManager :
<thread-factory>org.apache.cocoon.components.thread.DefaultThreadFactory</thread-factory>
<thread-pools>
<thread-pool>
<name>default</name>
<priority>NORM</priority>
<daemon>false</daemon>
<queue-size>-1</queue-size>
<max-pool-size>-1</max-pool-size>
<min-pool-size>2</min-pool-size>
<keep-alive-time-ms>20000</keep-alive-time-ms>
<block-policy>RUN</block-policy>
<shutdown-graceful>false</shutdown-graceful>
<shutdown-wait-time-ms>-1</shutdown-wait-time-ms>
</thread-pool>
</thread-pools>
Have a look at
http://gee.cs.oswego.edu/dl/classes/EDU/oswego/cs/dl/util/concurrent/PooledExecutor.html,
EDU.oswego.cs.dl.util.concurrent.PooledExecutor or the cocoon.xconf
file for more information.
author: Giacomo Pati version: $Id: DefaultRunnableManager.java 56848 2004-11-07 14:09:23Z giacomo $ |
Method Summary | |
public void | configure(Configuration config) | public void | createPool(String name, int queueSize, int maxPoolSize, int minPoolSize, int priority, boolean isDaemon, long keepAliveTime, String blockPolicy, boolean shutdownGraceful, int shutdownWaitTime) Create a shared ThreadPool
Parameters: name - The name of the thread pool Parameters: queueSize - The size of the queue Parameters: maxPoolSize - The maximum number of threads Parameters: minPoolSize - The maximum number of threads Parameters: priority - The priority of threads created by this pool. | public ThreadPool | createPool(int queueSize, int maxPoolSize, int minPoolSize, int priority, boolean isDaemon, long keepAliveTime, String blockPolicy, boolean shutdownGraceful, int shutdownWaitTime) Create a private ThreadPool
Parameters: queueSize - The size of the queue Parameters: maxPoolSize - The maximum number of threads Parameters: minPoolSize - The maximum number of threads Parameters: priority - The priority of threads created by this pool. | public void | dispose() | public void | execute(String threadPoolName, Runnable command, long delay, long interval) | public void | execute(Runnable command, long delay, long interval) | public void | execute(Runnable command, long delay) | public void | execute(Runnable command) | public void | execute(String threadPoolName, Runnable command, long delay) | public void | execute(String threadPoolName, Runnable command) | public void | remove(Runnable command) | public void | run() | public void | start() | public void | stop() |
DEFAULT_DAEMON_MODE | final public static boolean DEFAULT_DAEMON_MODE(Code) | | The default daemon mode
|
DEFAULT_KEEP_ALIVE_TIME | final public static long DEFAULT_KEEP_ALIVE_TIME(Code) | | The default keep alive time
|
DEFAULT_MAX_POOL_SIZE | final public static int DEFAULT_MAX_POOL_SIZE(Code) | | The default maximum pool size
|
DEFAULT_MIN_POOL_SIZE | final public static int DEFAULT_MIN_POOL_SIZE(Code) | | The default minimum pool size
|
DEFAULT_QUEUE_SIZE | final public static int DEFAULT_QUEUE_SIZE(Code) | | The default queue size
|
DEFAULT_SHUTDOWN_GRACEFUL | final public static boolean DEFAULT_SHUTDOWN_GRACEFUL(Code) | | The default way to shutdown gracefully
|
DEFAULT_SHUTDOWN_WAIT_TIME | final public static int DEFAULT_SHUTDOWN_WAIT_TIME(Code) | | The default shutdown waittime time
|
DEFAULT_THREADPOOL_NAME | final public static String DEFAULT_THREADPOOL_NAME(Code) | | The default shutdown waittime time
|
DEFAULT_THREAD_PRIORITY | final public static String DEFAULT_THREAD_PRIORITY(Code) | | The default thread priority
|
m_commandStack | protected SortedSet m_commandStack(Code) | | Sorted set of ExecutionInfo instances, based on their next
execution time.
|
m_pools | final Map m_pools(Code) | | The managed thread pools
|
configure | public void configure(Configuration config) throws ConfigurationException(Code) | | See Also: org.apache.avalon.framework.configuration.Configurable.configure(org.apache.avalon.framework.configuration.Configuration) |
createPool | public void createPool(String name, int queueSize, int maxPoolSize, int minPoolSize, int priority, boolean isDaemon, long keepAliveTime, String blockPolicy, boolean shutdownGraceful, int shutdownWaitTime)(Code) | | Create a shared ThreadPool
Parameters: name - The name of the thread pool Parameters: queueSize - The size of the queue Parameters: maxPoolSize - The maximum number of threads Parameters: minPoolSize - The maximum number of threads Parameters: priority - The priority of threads created by this pool. This isone of Thread.MIN_PRIORITY, Thread.NORM_PRIORITY, or Thread.MAX_PRIORITY Parameters: isDaemon - Whether or not thread from the pool should run in daemonmode Parameters: keepAliveTime - How long should a thread be alive for new work tobe done before it is GCed Parameters: blockPolicy - What's the blocking policy is resources are exhausted Parameters: shutdownGraceful - Should we wait for the queue to finish allpending commands? Parameters: shutdownWaitTime - After what time a normal shutdown should takeinto account if a graceful shutdown has not come to an end throws: IllegalArgumentException - If the pool already exists |
createPool | public ThreadPool createPool(int queueSize, int maxPoolSize, int minPoolSize, int priority, boolean isDaemon, long keepAliveTime, String blockPolicy, boolean shutdownGraceful, int shutdownWaitTime)(Code) | | Create a private ThreadPool
Parameters: queueSize - The size of the queue Parameters: maxPoolSize - The maximum number of threads Parameters: minPoolSize - The maximum number of threads Parameters: priority - The priority of threads created by this pool. This isone of Thread.MIN_PRIORITY, Thread.NORM_PRIORITY, or Thread.MAX_PRIORITY Parameters: isDaemon - Whether or not thread from the pool should run in daemonmode Parameters: keepAliveTime - How long should a thread be alive for new work tobe done before it is GCed Parameters: blockPolicy - What's the blocking policy is resources are exhausted Parameters: shutdownGraceful - Should we wait for the queue to finish allpending commands? Parameters: shutdownWaitTime - After what time a normal shutdown should takeinto account if a graceful shutdown has not come to an end A newly created ThreadPool |
dispose | public void dispose()(Code) | | See Also: org.apache.avalon.framework.activity.Disposable.dispose |
execute | public void execute(String threadPoolName, Runnable command, long delay, long interval)(Code) | | Run a
Runnable in the background using a
ThreadPool Parameters: threadPoolName - The thread pool name to be used Parameters: command - The Runnable to execute Parameters: delay - the delay befor first run Parameters: interval - The interval for repeated runs throws: IllegalArgumentException - DOCUMENT ME! |
execute | public void execute(Runnable command, long delay, long interval)(Code) | | Run a
Runnable in the background using a
ThreadPool Parameters: command - The Runnable to execute Parameters: delay - the delay befor first run Parameters: interval - The interval for repeated runs |
execute | public void execute(Runnable command, long delay)(Code) | | Run a
Runnable in the background using a
ThreadPool Parameters: command - The Runnable to execute Parameters: delay - the delay befor first run |
execute | public void execute(String threadPoolName, Runnable command, long delay)(Code) | | Run a
Runnable in the background using a
ThreadPool Parameters: threadPoolName - The thread pool name to be used Parameters: command - The Runnable to execute Parameters: delay - the delay befor first run |
execute | public void execute(String threadPoolName, Runnable command)(Code) | | Run a
Runnable in the background using a
ThreadPool Parameters: threadPoolName - The thread pool name to be used Parameters: command - The Runnable to execute |
remove | public void remove(Runnable command)(Code) | | Remove a Runnable from the command stack
Parameters: command - The Runnable to be removed |
run | public void run()(Code) | | The heart of the command manager
|
|
|