Class NativeWorkerPool
- java.lang.Object
-
- org.apache.axis2.transport.base.threads.NativeWorkerPool
-
- All Implemented Interfaces:
WorkerPool
public class NativeWorkerPool extends Object implements WorkerPool
Worker pool implementation based on java.util.concurrent in JDK 1.5 or later.
-
-
Constructor Summary
Constructors Constructor Description NativeWorkerPool(int core, int max, int keepAlive, int queueLength, int waterMark, String threadGroupName, String threadGroupId)
NativeWorkerPool(int core, int max, int keepAlive, int queueLength, int waterMark, String threadGroupName, String threadGroupId, RejectedExecutionHandler rejectedExecutionHandler)
NativeWorkerPool(int core, int max, int keepAlive, int queueLength, int waterMark, String threadGroupName, String threadGroupId, WaterMarkQueue<Runnable> queue)
NativeWorkerPool(int core, int max, int keepAlive, int queueLength, String threadGroupName, String threadGroupId)
NativeWorkerPool(int core, int max, int keepAlive, int queueLength, String threadGroupName, String threadGroupId, BlockingQueue<Runnable> queue)
NativeWorkerPool(int core, int max, int keepAlive, int queueLength, String threadGroupName, String threadGroupId, BlockingQueue<Runnable> queue, RejectedExecutionHandler rejectedExecutionHandler)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(Runnable task)
Asynchronously execute the given task using one of the threads of the worker pool.int
getActiveCount()
int
getQueueSize()
void
shutdown(int timeout)
Destroy the worker pool.
-
-
-
Constructor Detail
-
NativeWorkerPool
public NativeWorkerPool(int core, int max, int keepAlive, int queueLength, String threadGroupName, String threadGroupId)
-
NativeWorkerPool
public NativeWorkerPool(int core, int max, int keepAlive, int queueLength, String threadGroupName, String threadGroupId, BlockingQueue<Runnable> queue)
-
NativeWorkerPool
public NativeWorkerPool(int core, int max, int keepAlive, int queueLength, String threadGroupName, String threadGroupId, BlockingQueue<Runnable> queue, RejectedExecutionHandler rejectedExecutionHandler)
-
NativeWorkerPool
public NativeWorkerPool(int core, int max, int keepAlive, int queueLength, int waterMark, String threadGroupName, String threadGroupId)
-
NativeWorkerPool
public NativeWorkerPool(int core, int max, int keepAlive, int queueLength, int waterMark, String threadGroupName, String threadGroupId, WaterMarkQueue<Runnable> queue)
-
NativeWorkerPool
public NativeWorkerPool(int core, int max, int keepAlive, int queueLength, int waterMark, String threadGroupName, String threadGroupId, RejectedExecutionHandler rejectedExecutionHandler)
-
-
Method Detail
-
execute
public void execute(Runnable task)
Description copied from interface:WorkerPool
Asynchronously execute the given task using one of the threads of the worker pool. The task is expected to terminate gracefully, i.e.Runnable.run()
should not throw an exception. Any uncaught exceptions should be logged by the worker pool implementation.- Specified by:
execute
in interfaceWorkerPool
- Parameters:
task
- the task to execute
-
getActiveCount
public int getActiveCount()
- Specified by:
getActiveCount
in interfaceWorkerPool
-
getQueueSize
public int getQueueSize()
- Specified by:
getQueueSize
in interfaceWorkerPool
-
shutdown
public void shutdown(int timeout) throws InterruptedException
Description copied from interface:WorkerPool
Destroy the worker pool. The pool will immediately stop accepting new tasks. All previously submitted tasks will be executed. The method blocks until all tasks have completed execution, or the timeout occurs, or the current thread is interrupted, whichever happens first.- Specified by:
shutdown
in interfaceWorkerPool
- Parameters:
timeout
- the timeout value in milliseconds- Throws:
InterruptedException
- if the current thread was interrupted while waiting for pending tasks to finish execution
-
-