## org.apache.axis.components.threadpool
Class ThreadPool

    java.lang.Object
      org.apache.axis.components.threadpool.ThreadPool

public class ThreadPool
extends java.lang.Object

Author:
  James M Snell (jasnell@us.ibm.com)

Field Summary
`boolean` `_shutdown`
`static int` `DEFAULT_MAX_THREADS`
`protected static org.apache.commons.logging.Log` `log`
`protected long` `threadcount`
`protected java.util.Map` `threads`

Constructor Summary
`ThreadPool()`
`ThreadPool(int maxPoolSize)`

Method Summary
`void` `addWorker(java.lang.Runnable worker)` Adds a new worker to the pool
`void` `awaitShutdown()` Await shutdown of the worker
`boolean` `awaitShutdown(long timeout)` Await shutdown of the worker
`void` `cleanup()`
`long` `getWorkerCount()` Returns the total number of currently active workers
`void` `interruptAll()` Forcefully interrupt all workers
`boolean` `isShutdown()` Returns true if all workers have been shutdown
`boolean` `isShuttingDown()` Returns true if all workers are in the process of shutting down
`void` `safeShutdown()` Forcefully shutdown the pool
`void` `shutdown()` Forcefully shutdown the pool
`void` `workerDone(java.lang.Runnable worker, boolean restart)` Used by MessageWorkers to notify the pool that it is done

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### log

    protected static org.apache.commons.logging.Log log

### DEFAULT_MAX_THREADS

    public static final int DEFAULT_MAX_THREADS

See Also:
  Constant Field Values

### threads

    protected java.util.Map threads

### threadcount

    protected long threadcount

### _shutdown

    public boolean _shutdown

Constructor Detail

### ThreadPool

    public ThreadPool()

### ThreadPool

    public ThreadPool(int maxPoolSize)

Method Detail

### cleanup

    public void cleanup()
                 throws java.lang.InterruptedException

  Throws:
    `java.lang.InterruptedException`

### isShutdown

    public boolean isShutdown()

  Returns true if all workers have been shutdown

### isShuttingDown

    public boolean isShuttingDown()

  Returns true if all workers are in the process of shutting down

### getWorkerCount

    public long getWorkerCount()

  Returns the total number of currently active workers

### addWorker

    public void addWorker(java.lang.Runnable worker)

  Adds a new worker to the pool

### interruptAll

    public void interruptAll()

  Forcefully interrupt all workers

### shutdown

    public void shutdown()

  Forcefully shutdown the pool

### safeShutdown

    public void safeShutdown()

  Forcefully shutdown the pool

### awaitShutdown

    public void awaitShutdown()
                       throws java.lang.InterruptedException

  Await shutdown of the worker

  Throws:
    `java.lang.InterruptedException`

### awaitShutdown

    public boolean awaitShutdown(long timeout)
                          throws java.lang.InterruptedException

  Await shutdown of the worker

  Throws:
    `java.lang.InterruptedException`

### workerDone

    public void workerDone(java.lang.Runnable worker,
                           boolean restart)

  Used by MessageWorkers to notify the pool that it is done

Copyright © 2005 Apache Web Services Project. All Rights Reserved.