Package org.eclipse.jetty.server
Class ConnectionLimit
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.server.ConnectionLimit
- All Implemented Interfaces:
EventListener,Connection.Listener,SelectorManager.AcceptListener,org.eclipse.jetty.util.component.LifeCycle
@ManagedObject
public class ConnectionLimit
extends org.eclipse.jetty.util.component.AbstractLifeCycle
implements Connection.Listener, SelectorManager.AcceptListener
A Listener that limits the number of Connections.
This listener applies a limit to the number of connections, which when
exceeded results in a call to AbstractConnector.setAccepting(boolean)
to prevent further connections being received. It can be applied to an
entire server or to a specific connector by adding it via Container.addBean(Object)
Usage:
Server server = new Server(); server.addBean(new ConnectionLimit(5000,server)); ... server.start();
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListenerNested classes/interfaces inherited from interface org.eclipse.jetty.io.Connection.Listener
Connection.Listener.AdapterNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
org.eclipse.jetty.util.component.LifeCycle.Listener -
Field Summary
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING -
Constructor Summary
ConstructorsConstructorDescriptionConnectionLimit(int maxConnections, Connector... connectors) ConnectionLimit(int maxConnections, Server server) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcheck()protected voiddoStart()protected voiddoStop()intlongintprotected voidlimit()voidonAccepted(SelectableChannel channel) voidonAcceptFailed(SelectableChannel channel, Throwable cause) voidonAccepting(SelectableChannel channel) voidonClosed(Connection connection) voidonOpened(Connection connection) voidsetIdleTimeout(long idleTimeout) voidsetMaxConnections(int max) protected voidunlimit()Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, setStopTimeout, start, stop, toString
-
Constructor Details
-
ConnectionLimit
-
ConnectionLimit
public ConnectionLimit(@Name("maxConnections") int maxConnections, @Name("connectors") Connector... connectors)
-
-
Method Details
-
getIdleTimeout
@ManagedAttribute("The endpoint idle timeout in ms to apply when the connection limit is reached") public long getIdleTimeout()- Returns:
- If >= 0, the endpoint idle timeout in ms to apply when the connection limit is reached
-
setIdleTimeout
public void setIdleTimeout(long idleTimeout) - Parameters:
idleTimeout- If >= 0 the endpoint idle timeout in ms to apply when the connection limit is reached
-
getMaxConnections
@ManagedAttribute("The maximum number of connections allowed") public int getMaxConnections() -
setMaxConnections
public void setMaxConnections(int max) -
getConnections
@ManagedAttribute("The current number of connections ") public int getConnections() -
doStart
- Overrides:
doStartin classorg.eclipse.jetty.util.component.AbstractLifeCycle- Throws:
Exception
-
doStop
- Overrides:
doStopin classorg.eclipse.jetty.util.component.AbstractLifeCycle- Throws:
Exception
-
check
protected void check() -
limit
protected void limit() -
unlimit
protected void unlimit() -
onAccepting
- Specified by:
onAcceptingin interfaceSelectorManager.AcceptListener
-
onAcceptFailed
- Specified by:
onAcceptFailedin interfaceSelectorManager.AcceptListener
-
onAccepted
- Specified by:
onAcceptedin interfaceSelectorManager.AcceptListener
-
onOpened
- Specified by:
onOpenedin interfaceConnection.Listener
-
onClosed
- Specified by:
onClosedin interfaceConnection.Listener
-