Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| ModeShape Distribution 3.0.0.Beta3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.modeshape.common.util
Interface ThreadPoolFactory

All Known Implementing Classes:
  ExecutionContext, ThreadPools

    public interface ThreadPoolFactory

Factory interface for creating/obtaining named thread pools.

Method Summary
`ExecutorService` | `getCachedTreadPool(String name)` Signal that the supplied thread pool is no longer needed.
`ExecutorService` | `getScheduledThreadPool(String name)` Obtain a scheduled thread pool with the supplied name, or create and return one if no thread pool exists with that name.
`ExecutorService` | `getThreadPool(String name)` Obtain a thread pool with the supplied name, or create and return one if no thread pool exists with that name.
`void` | `releaseThreadPool(ExecutorService pool)` Performs a `ExecutorService.shutdownNow()` on the given pool, if the pool has been created previously by this class.
`void` | `terminateAllPools(long maxWaitTime, TimeUnit timeUnit)` Terminates all the existing thread pool, by waiting for them maximum `maxWaitTimeMillis` milliseconds, after which calling `ExecutorService.shutdownNow()`.

Method Detail

### getThreadPool

    ExecutorService getThreadPool(String name)

  Obtain a thread pool with the supplied name, or create and return one if no thread pool exists with that name. When finished with the thread pool, it should be `released`.

  Parameters:
    `name` - the name of the thread pool; may not be null
  Returns:
    the thread pool executor; never null

### getCachedTreadPool

    ExecutorService getCachedTreadPool(String name)

  Signal that the supplied thread pool is no longer needed. Obtain a cached thread pool with the supplied name, or create and return one if no thread pool exists with that name. When finished with the thread pool, it should be `released`.

  Parameters:
    `name` - the name of the thread pool; may not be null
  Returns:
    the thread pool executor; never null

### getScheduledThreadPool

    ExecutorService getScheduledThreadPool(String name)

  Obtain a scheduled thread pool with the supplied name, or create and return one if no thread pool exists with that name. When finished with the thread pool, it should be `released`.

  Parameters:
    `name` - the name of the thread pool; may not be null
  Returns:
    the thread pool executor; never null

### releaseThreadPool

    void releaseThreadPool(ExecutorService pool)

  Performs a `ExecutorService.shutdownNow()` on the given pool, if the pool has been created previously by this class. Clients which use this method should handle, if necessary, any potential `InterruptedException`

  Parameters:
    `pool` - the pool that is no longer needed

### terminateAllPools

    void terminateAllPools(long maxWaitTime,
                           TimeUnit timeUnit)

  Terminates all the existing thread pool, by waiting for them maximum `maxWaitTimeMillis` milliseconds, after which calling `ExecutorService.shutdownNow()`.

  Parameters:
    `maxWaitTime` - the maximum amount of time that should be given to the pools to shutdown on their own; must be non-negative
    `timeUnit` - the unit of time for the `maxWaitTime` parameter

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| ModeShape Distribution 3.0.0.Beta3
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2008-2012 JBoss, a division of Red Hat. All Rights Reserved.