Package org.apache.mina.filter.executor
Class OrderedThreadPoolExecutor
- java.lang.Object
-
- java.util.concurrent.AbstractExecutorService
-
- java.util.concurrent.ThreadPoolExecutor
-
- org.apache.mina.filter.executor.OrderedThreadPoolExecutor
-
- All Implemented Interfaces:
java.util.concurrent.Executor
,java.util.concurrent.ExecutorService
public class OrderedThreadPoolExecutor extends java.util.concurrent.ThreadPoolExecutor
AThreadPoolExecutor
that maintains the order ofIoEvent
s.If you don't need to maintain the order of events per session, please use
UnorderedThreadPoolExecutor
.- Author:
- Apache MINA Project
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class java.util.concurrent.ThreadPoolExecutor
java.util.concurrent.ThreadPoolExecutor.AbortPolicy, java.util.concurrent.ThreadPoolExecutor.CallerRunsPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardOldestPolicy, java.util.concurrent.ThreadPoolExecutor.DiscardPolicy
-
-
Constructor Summary
Constructors Constructor Description OrderedThreadPoolExecutor()
Creates a default ThreadPool, with default values : - minimum pool size is 0 - maximum pool size is 16 - keepAlive set to 30 seconds - A default ThreadFactory - All events are acceptedOrderedThreadPoolExecutor(int maximumPoolSize)
Creates a default ThreadPool, with default values : - minimum pool size is 0 - keepAlive set to 30 seconds - A default ThreadFactory - All events are acceptedOrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize)
Creates a default ThreadPool, with default values : - keepAlive set to 30 seconds - A default ThreadFactory - All events are acceptedOrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit)
Creates a default ThreadPool, with default values : - A default ThreadFactory - All events are acceptedOrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.ThreadFactory threadFactory)
Creates a default ThreadPool, with default values : - A default ThreadFactoryOrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.ThreadFactory threadFactory, IoEventQueueHandler eventQueueHandler)
Creates a new instance of a OrderedThreadPoolExecutor.OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, IoEventQueueHandler eventQueueHandler)
Creates a default ThreadPool, with default values : - A default ThreadFactory
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
awaitTermination(long timeout, java.util.concurrent.TimeUnit unit)
void
execute(java.lang.Runnable task)
int
getActiveCount()
long
getCompletedTaskCount()
int
getLargestPoolSize()
int
getPoolSize()
java.util.concurrent.BlockingQueue<java.lang.Runnable>
getQueue()
IoEventQueueHandler
getQueueHandler()
long
getTaskCount()
boolean
isShutdown()
boolean
isTerminated()
boolean
isTerminating()
int
prestartAllCoreThreads()
boolean
prestartCoreThread()
void
purge()
boolean
remove(java.lang.Runnable task)
void
setCorePoolSize(int corePoolSize)
void
setMaximumPoolSize(int maximumPoolSize)
void
setRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler handler)
void
shutdown()
java.util.List<java.lang.Runnable>
shutdownNow()
-
Methods inherited from class java.util.concurrent.ThreadPoolExecutor
afterExecute, allowCoreThreadTimeOut, allowsCoreThreadTimeOut, beforeExecute, finalize, getCorePoolSize, getKeepAliveTime, getMaximumPoolSize, getRejectedExecutionHandler, getThreadFactory, setKeepAliveTime, setThreadFactory, terminated, toString
-
-
-
-
Constructor Detail
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor()
Creates a default ThreadPool, with default values : - minimum pool size is 0 - maximum pool size is 16 - keepAlive set to 30 seconds - A default ThreadFactory - All events are accepted
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int maximumPoolSize)
Creates a default ThreadPool, with default values : - minimum pool size is 0 - keepAlive set to 30 seconds - A default ThreadFactory - All events are accepted- Parameters:
maximumPoolSize
- The maximum pool size
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize)
Creates a default ThreadPool, with default values : - keepAlive set to 30 seconds - A default ThreadFactory - All events are accepted- Parameters:
corePoolSize
- The initial pool sizePoolSizemaximumPoolSize
- The maximum pool size
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit)
Creates a default ThreadPool, with default values : - A default ThreadFactory - All events are accepted- Parameters:
corePoolSize
- The initial pool sizePoolSizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive value
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, IoEventQueueHandler eventQueueHandler)
Creates a default ThreadPool, with default values : - A default ThreadFactory- Parameters:
corePoolSize
- The initial pool sizePoolSizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive valueeventQueueHandler
- The queue used to store events
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.ThreadFactory threadFactory)
Creates a default ThreadPool, with default values : - A default ThreadFactory- Parameters:
corePoolSize
- The initial pool sizePoolSizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive valuethreadFactory
- The factory used to create threads
-
OrderedThreadPoolExecutor
public OrderedThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, java.util.concurrent.TimeUnit unit, java.util.concurrent.ThreadFactory threadFactory, IoEventQueueHandler eventQueueHandler)
Creates a new instance of a OrderedThreadPoolExecutor.- Parameters:
corePoolSize
- The initial pool sizePoolSizemaximumPoolSize
- The maximum pool sizekeepAliveTime
- Default duration for a threadunit
- Time unit used for the keepAlive valuethreadFactory
- The factory used to create threadseventQueueHandler
- The queue used to store events
-
-
Method Detail
-
getQueueHandler
public IoEventQueueHandler getQueueHandler()
- Returns:
- The associated queue handler.
-
setRejectedExecutionHandler
public void setRejectedExecutionHandler(java.util.concurrent.RejectedExecutionHandler handler)
- Overrides:
setRejectedExecutionHandler
in classjava.util.concurrent.ThreadPoolExecutor
-
setMaximumPoolSize
public void setMaximumPoolSize(int maximumPoolSize)
- Overrides:
setMaximumPoolSize
in classjava.util.concurrent.ThreadPoolExecutor
-
awaitTermination
public boolean awaitTermination(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException
- Specified by:
awaitTermination
in interfacejava.util.concurrent.ExecutorService
- Overrides:
awaitTermination
in classjava.util.concurrent.ThreadPoolExecutor
- Throws:
java.lang.InterruptedException
-
isShutdown
public boolean isShutdown()
- Specified by:
isShutdown
in interfacejava.util.concurrent.ExecutorService
- Overrides:
isShutdown
in classjava.util.concurrent.ThreadPoolExecutor
-
isTerminated
public boolean isTerminated()
- Specified by:
isTerminated
in interfacejava.util.concurrent.ExecutorService
- Overrides:
isTerminated
in classjava.util.concurrent.ThreadPoolExecutor
-
shutdown
public void shutdown()
- Specified by:
shutdown
in interfacejava.util.concurrent.ExecutorService
- Overrides:
shutdown
in classjava.util.concurrent.ThreadPoolExecutor
-
shutdownNow
public java.util.List<java.lang.Runnable> shutdownNow()
- Specified by:
shutdownNow
in interfacejava.util.concurrent.ExecutorService
- Overrides:
shutdownNow
in classjava.util.concurrent.ThreadPoolExecutor
-
execute
public void execute(java.lang.Runnable task)
- Specified by:
execute
in interfacejava.util.concurrent.Executor
- Overrides:
execute
in classjava.util.concurrent.ThreadPoolExecutor
-
getActiveCount
public int getActiveCount()
- Overrides:
getActiveCount
in classjava.util.concurrent.ThreadPoolExecutor
-
getCompletedTaskCount
public long getCompletedTaskCount()
- Overrides:
getCompletedTaskCount
in classjava.util.concurrent.ThreadPoolExecutor
-
getLargestPoolSize
public int getLargestPoolSize()
- Overrides:
getLargestPoolSize
in classjava.util.concurrent.ThreadPoolExecutor
-
getPoolSize
public int getPoolSize()
- Overrides:
getPoolSize
in classjava.util.concurrent.ThreadPoolExecutor
-
getTaskCount
public long getTaskCount()
- Overrides:
getTaskCount
in classjava.util.concurrent.ThreadPoolExecutor
-
isTerminating
public boolean isTerminating()
- Overrides:
isTerminating
in classjava.util.concurrent.ThreadPoolExecutor
-
prestartAllCoreThreads
public int prestartAllCoreThreads()
- Overrides:
prestartAllCoreThreads
in classjava.util.concurrent.ThreadPoolExecutor
-
prestartCoreThread
public boolean prestartCoreThread()
- Overrides:
prestartCoreThread
in classjava.util.concurrent.ThreadPoolExecutor
-
getQueue
public java.util.concurrent.BlockingQueue<java.lang.Runnable> getQueue()
- Overrides:
getQueue
in classjava.util.concurrent.ThreadPoolExecutor
-
purge
public void purge()
- Overrides:
purge
in classjava.util.concurrent.ThreadPoolExecutor
-
remove
public boolean remove(java.lang.Runnable task)
- Overrides:
remove
in classjava.util.concurrent.ThreadPoolExecutor
-
setCorePoolSize
public void setCorePoolSize(int corePoolSize)
- Overrides:
setCorePoolSize
in classjava.util.concurrent.ThreadPoolExecutor
-
-