org.apache.qpid.server.transport
Class ThreadPoolFilter
java.lang.Object
org.apache.mina.common.IoFilterAdapter
org.apache.qpid.server.transport.ThreadPoolFilter
- All Implemented Interfaces:
- org.apache.mina.common.IoFilter
public class ThreadPoolFilter
- extends org.apache.mina.common.IoFilterAdapter
A Thread-pooling filter. This filter forwards IoHandler
events
to its thread pool.
This is an implementation of
Leader/Followers
thread pool by Douglas C. Schmidt et al.
Nested classes/interfaces inherited from interface org.apache.mina.common.IoFilter |
org.apache.mina.common.IoFilter.NextFilter, org.apache.mina.common.IoFilter.WriteRequest |
Constructor Summary |
ThreadPoolFilter()
Creates a new instance of this filter with default thread pool settings. |
ThreadPoolFilter(java.lang.String threadNamePrefix)
Creates a new instance of this filter with the specified thread name prefix
and other default settings. |
Method Summary |
void |
destroy()
|
void |
exceptionCaught(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
java.lang.Throwable cause)
|
protected ThreadPoolFilter.SessionBuffer |
fetchSessionBuffer(org.apache.mina.util.Queue unfetchedSessionBuffers)
Implement this method to fetch (or pop) a ThreadPoolFilter.SessionBuffer from
the given unfetchedSessionBuffers. |
void |
filterClose(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session)
|
void |
filterWrite(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
org.apache.mina.common.IoFilter.WriteRequest writeRequest)
|
int |
getKeepAliveTime()
|
int |
getMaximumPoolSize()
|
int |
getPoolSize()
|
java.lang.String |
getThreadNamePrefix()
|
void |
init()
|
void |
messageReceived(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
java.lang.Object message)
|
void |
messageSent(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
java.lang.Object message)
|
protected void |
processEvent(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
ThreadPoolFilter.EventType type,
java.lang.Object data)
|
void |
sessionClosed(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session)
|
void |
sessionCreated(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session)
|
void |
sessionIdle(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
org.apache.mina.common.IdleStatus status)
|
void |
sessionOpened(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session)
|
void |
setKeepAliveTime(int keepAliveTime)
|
void |
setMaximumPoolSize(int maximumPoolSize)
|
Methods inherited from class org.apache.mina.common.IoFilterAdapter |
onPostAdd, onPostRemove, onPreAdd, onPreRemove |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEFAULT_MAXIMUM_POOL_SIZE
public static final int DEFAULT_MAXIMUM_POOL_SIZE
- Default maximum size of thread pool (2G).
- See Also:
- Constant Field Values
DEFAULT_KEEP_ALIVE_TIME
public static final int DEFAULT_KEEP_ALIVE_TIME
- Default keep-alive time of thread pool (1 min).
- See Also:
- Constant Field Values
ThreadPoolFilter
public ThreadPoolFilter()
- Creates a new instance of this filter with default thread pool settings.
ThreadPoolFilter
public ThreadPoolFilter(java.lang.String threadNamePrefix)
- Creates a new instance of this filter with the specified thread name prefix
and other default settings.
- Parameters:
threadNamePrefix
- the prefix of the thread names this pool will create.
getThreadNamePrefix
public java.lang.String getThreadNamePrefix()
getPoolSize
public int getPoolSize()
getMaximumPoolSize
public int getMaximumPoolSize()
getKeepAliveTime
public int getKeepAliveTime()
setMaximumPoolSize
public void setMaximumPoolSize(int maximumPoolSize)
setKeepAliveTime
public void setKeepAliveTime(int keepAliveTime)
init
public void init()
- Specified by:
init
in interface org.apache.mina.common.IoFilter
- Overrides:
init
in class org.apache.mina.common.IoFilterAdapter
destroy
public void destroy()
- Specified by:
destroy
in interface org.apache.mina.common.IoFilter
- Overrides:
destroy
in class org.apache.mina.common.IoFilterAdapter
fetchSessionBuffer
protected ThreadPoolFilter.SessionBuffer fetchSessionBuffer(org.apache.mina.util.Queue unfetchedSessionBuffers)
- Implement this method to fetch (or pop) a
ThreadPoolFilter.SessionBuffer
from
the given unfetchedSessionBuffers. The default implementation
simply pops the buffer from it. You could prioritize the fetch order.
- Returns:
- A non-null
ThreadPoolFilter.SessionBuffer
sessionCreated
public void sessionCreated(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session)
- Specified by:
sessionCreated
in interface org.apache.mina.common.IoFilter
- Overrides:
sessionCreated
in class org.apache.mina.common.IoFilterAdapter
sessionOpened
public void sessionOpened(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session)
- Specified by:
sessionOpened
in interface org.apache.mina.common.IoFilter
- Overrides:
sessionOpened
in class org.apache.mina.common.IoFilterAdapter
sessionClosed
public void sessionClosed(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session)
- Specified by:
sessionClosed
in interface org.apache.mina.common.IoFilter
- Overrides:
sessionClosed
in class org.apache.mina.common.IoFilterAdapter
sessionIdle
public void sessionIdle(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
org.apache.mina.common.IdleStatus status)
- Specified by:
sessionIdle
in interface org.apache.mina.common.IoFilter
- Overrides:
sessionIdle
in class org.apache.mina.common.IoFilterAdapter
exceptionCaught
public void exceptionCaught(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
java.lang.Throwable cause)
- Specified by:
exceptionCaught
in interface org.apache.mina.common.IoFilter
- Overrides:
exceptionCaught
in class org.apache.mina.common.IoFilterAdapter
messageReceived
public void messageReceived(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
java.lang.Object message)
- Specified by:
messageReceived
in interface org.apache.mina.common.IoFilter
- Overrides:
messageReceived
in class org.apache.mina.common.IoFilterAdapter
messageSent
public void messageSent(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
java.lang.Object message)
- Specified by:
messageSent
in interface org.apache.mina.common.IoFilter
- Overrides:
messageSent
in class org.apache.mina.common.IoFilterAdapter
processEvent
protected void processEvent(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
ThreadPoolFilter.EventType type,
java.lang.Object data)
filterWrite
public void filterWrite(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session,
org.apache.mina.common.IoFilter.WriteRequest writeRequest)
- Specified by:
filterWrite
in interface org.apache.mina.common.IoFilter
- Overrides:
filterWrite
in class org.apache.mina.common.IoFilterAdapter
filterClose
public void filterClose(org.apache.mina.common.IoFilter.NextFilter nextFilter,
org.apache.mina.common.IoSession session)
throws java.lang.Exception
- Specified by:
filterClose
in interface org.apache.mina.common.IoFilter
- Overrides:
filterClose
in class org.apache.mina.common.IoFilterAdapter
- Throws:
java.lang.Exception