Package com.twelvemonkeys.servlet
Class ThrottleFilter
- java.lang.Object
-
- com.twelvemonkeys.servlet.GenericFilter
-
- com.twelvemonkeys.servlet.ThrottleFilter
-
- All Implemented Interfaces:
java.io.Serializable,javax.servlet.Filter,javax.servlet.FilterConfig
public class ThrottleFilter extends GenericFilter
ThrottleFilter, a filter for easing server during heavy load.Intercepts requests, and returns HTTP response code
503 (Service Unavailable), if there are more than a given number of concurrent requests, to avoid large backlogs. The number of concurrent requests and the response messages sent to the user agent, is configurable from the web descriptor.- Version:
- $Id: ThrottleFilter.java#1 $
- Author:
- Harald Kuhr, last modified by $Author: haku $
- See Also:
setMaxConcurrentThreadCount(java.lang.String),setResponseMessages(java.lang.String), Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected static java.lang.StringDEFAULT_TYPEDefault response content typeprotected static java.lang.StringDEFUALT_RESPONSE_MESSAGEDefault response message sent to user agents, if the request is rejectedprotected intmaxConcurrentThreadCountMinimum free thread count, defaults to10-
Fields inherited from class com.twelvemonkeys.servlet.GenericFilter
oncePerRequest
-
-
Constructor Summary
Constructors Constructor Description ThrottleFilter()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoFilterImpl(javax.servlet.ServletRequest pRequest, javax.servlet.ServletResponse pResponse, javax.servlet.FilterChain pChain)Invoked once, or each time a request/response pair is passed through the chain, depending on theGenericFilter.oncePerRequestmember variable.voidsetMaxConcurrentThreadCount(java.lang.String pMaxConcurrentThreadCount)Sets the minimum free thread count.voidsetResponseMessages(java.lang.String pResponseMessages)Sets the response message sent to the user agent, if the request is rejected.-
Methods inherited from class com.twelvemonkeys.servlet.GenericFilter
destroy, doFilter, getFilterConfig, getFilterName, getInitParameter, getInitParameterNames, getServletContext, init, init, log, log, setFilterConfig, setOncePerRequest
-
-
-
-
Field Detail
-
maxConcurrentThreadCount
protected int maxConcurrentThreadCount
Minimum free thread count, defaults to10
-
DEFUALT_RESPONSE_MESSAGE
protected static final java.lang.String DEFUALT_RESPONSE_MESSAGE
Default response message sent to user agents, if the request is rejected- See Also:
- Constant Field Values
-
DEFAULT_TYPE
protected static final java.lang.String DEFAULT_TYPE
Default response content type- See Also:
- Constant Field Values
-
-
Method Detail
-
setMaxConcurrentThreadCount
public void setMaxConcurrentThreadCount(java.lang.String pMaxConcurrentThreadCount)
Sets the minimum free thread count.- Parameters:
pMaxConcurrentThreadCount-
-
setResponseMessages
public void setResponseMessages(java.lang.String pResponseMessages)
Sets the response message sent to the user agent, if the request is rejected.
The format is<mime-type>=<filename>, <mime-type>=<filename>.
Example:<text/vnd.wap.wmlgt;=</errors/503.wml>, <text/html>=</errors/503.html>- Parameters:
pResponseMessages-
-
doFilterImpl
protected void doFilterImpl(javax.servlet.ServletRequest pRequest, javax.servlet.ServletResponse pResponse, javax.servlet.FilterChain pChain) throws java.io.IOException, javax.servlet.ServletExceptionDescription copied from class:GenericFilterInvoked once, or each time a request/response pair is passed through the chain, depending on theGenericFilter.oncePerRequestmember variable.- Specified by:
doFilterImplin classGenericFilter- Parameters:
pRequest-pResponse-pChain-- Throws:
java.io.IOExceptionjavax.servlet.ServletException- See Also:
GenericFilter.oncePerRequest,doFilter,Filter.doFilter
-
-