Package org.apache.catalina.tribes.transport

## Class RxTaskPool

- java.lang.Object
- - org.apache.catalina.tribes.transport.RxTaskPool

    public class RxTaskPool
    extends java.lang.Object

A very simple thread pool class. The pool size is set at construction time and remains fixed. Threads are cycled through a FIFO idle queue.

Version:
  1.0

### Nested Class Summary

Nested Classes
`static interface` `RxTaskPool.TaskCreator`

### Constructor Summary

Constructors
`RxTaskPool​(int maxTasks, int minTasks, RxTaskPool.TaskCreator creator)`

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `available()`
`protected void` `configureTask​(AbstractRxTask task)`
`int` `getMaxThreads()`
`int` `getMinThreads()`
`AbstractRxTask` `getRxTask()` Find an idle worker thread, if any.
`RxTaskPool.TaskCreator` `getTaskCreator()`
`void` `returnWorker​(AbstractRxTask worker)` Called by the worker thread to return itself to the idle pool.
`void` `setMaxTasks​(int maxThreads)`
`void` `setMinTasks​(int minThreads)`
`void` `stop()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### RxTaskPool

    public RxTaskPool​(int maxTasks,
                      int minTasks,
                      RxTaskPool.TaskCreator creator)
               throws java.lang.Exception

Throws:
  `java.lang.Exception`

### Method Detail

#### configureTask

    protected void configureTask​(AbstractRxTask task)

#### getRxTask

    public AbstractRxTask getRxTask()

Find an idle worker thread, if any. Could return null.

Returns:
  a worker

#### available

    public int available()

#### returnWorker

    public void returnWorker​(AbstractRxTask worker)

Called by the worker thread to return itself to the idle pool.

Parameters:
  `worker` - The worker

#### getMaxThreads

    public int getMaxThreads()

#### getMinThreads

    public int getMinThreads()

#### stop

    public void stop()

#### setMaxTasks

    public void setMaxTasks​(int maxThreads)

#### setMinTasks

    public void setMinTasks​(int minThreads)

#### getTaskCreator

    public RxTaskPool.TaskCreator getTaskCreator()